diff --git a/BBjGridExWidget.bbj b/BBjGridExWidget.bbj index 109529c3..80029ec9 100644 --- a/BBjGridExWidget.bbj +++ b/BBjGridExWidget.bbj @@ -43,6 +43,7 @@ use ::BBjGridExWidget/BBjGridExWidgetClientEvents.bbj::BBjGridExWidgetClientEven use ::BBjGridExWidget/BBjGridExWidgetClientEvents.bbj::BBjGridExWidgetClientEventsContextMenu use ::BBjGridExWidget/BBjGridExWidgetClientEvents.bbj::BBjGridExWidgetClientEventsCell use ::BBjGridExWidget/BBjGridExWidgetClientEvents.bbj::BBjGridExWidgetClientEventsRowEditing +use ::BBjGridExWidget/BBjGridExWidgetClientEvents.bbj::BBjGridExWidgetClientEventsRangeSelection rem /** rem * The Grid Core Class.This class works as a columns manager and api provider. rem * It contains a big number of methods and properties to configure the column from A..Z. @@ -896,6 +897,14 @@ class public BBjGridExWidget extends BBjWidget implements BBjGridExWidgetColumns methodret 5008 methodend rem /** + rem * Constant value to define range selection event + rem * + rem * @return BBjNumber + rem */ + method public static BBjNumber ON_GRID_RANGE_SELECTION_CHANGED() + methodret 5009 + methodend + rem /** rem * Alias for ON_GRID_STATE_CHANGE() rem * rem * @see ON_GRID_STATE_CHANGE() @@ -1365,6 +1374,9 @@ class public BBjGridExWidget extends BBjWidget implements BBjGridExWidgetColumns case "gw.cellDoubleClicked" #onCellEvent(detail$,#ON_GRID_CELL_DOUBLE_CLICK()) break + case "gw.rangeSelection" + #onRangeSelectionChange(detail$) + break case "gw.cellEditingStarted" #onCellEvent(detail$,#ON_GRID_CELL_EDITING_STARTED()) break @@ -3070,6 +3082,15 @@ class public BBjGridExWidget extends BBjWidget implements BBjGridExWidgetColumns #fireEvent(type!, event!) methodend rem /** + rem * Handle Range Selections Event + rem * + rem * @see BBjGridExWidgetClientEventsRangeSelection + rem */ + method private void onRangeSelectionChange(BBjString detail$) + event! = new BBjGridExWidgetClientEventsRangeSelection() + #fireEvent(#ON_GRID_RANGE_SELECTION_CHANGED(),event!) + methodend + rem /** rem * On rows selections event rem * rem * Parse the json details coming from the client and fires new BBjGridExWidgetSelectRowEvent diff --git a/BBjGridExWidgetClientEvents.bbj b/BBjGridExWidgetClientEvents.bbj index 6ced0bb8..06127033 100644 --- a/BBjGridExWidgetClientEvents.bbj +++ b/BBjGridExWidgetClientEvents.bbj @@ -88,4 +88,12 @@ class public BBjGridExWidgetClientEventsRowEditing rem * The Row being edited rem */ field public BBjGridExWidgetClientRowModel Row! -classend \ No newline at end of file +classend + +REM /** +REM * Cells range selection event +REM * +REM * @author Hyyan Abo Fakher +REM */ +class public BBjGridExWidgetClientEventsRangeSelection +classend \ No newline at end of file diff --git a/Demo/Enterprise/RangeSelectionDemo.bbj b/Demo/Enterprise/RangeSelectionDemo.bbj new file mode 100644 index 00000000..caa9c9b1 --- /dev/null +++ b/Demo/Enterprise/RangeSelectionDemo.bbj @@ -0,0 +1,129 @@ +rem /** +rem * This file is part of the BBjGridExWidget plugin. +rem * (c) Basis Europe +rem * +rem * For the full copyright and license information, please view the LICENSE +rem * file that was distributed with this source code. +rem */ +use ::BBjGridExWidget/BBjGridExWidget.bbj::BBjGridExWidget +use com.basiscomponents.db.ResultSet +use com.basiscomponents.bc.SqlQueryBC +use java.sql.Types +use com.google.gson.JsonObject +use java.util.ArrayList +use java.util.Collections + +? 'HIDE' + +declare auto BBjTopLevelWindow wnd! +declare BBjGridExWidget grid! + +wnd! = BBjAPI().openSysGui("X0").addWindow(10,10,800,600,"BBj Grid Ex Demo") +wnd!.setCallback(BBjAPI.ON_CLOSE,"byebye") +wnd!.setCallback(BBjAPI.ON_RESIZE,"resize") + +static! = wnd!.addStaticText(100,-10,575,800,25,"Count : 0 - Sum : 0 - Min : 0 - Max : 0 - Average : 0" , $0000$ ) +static!.setAlignment(static!.ALIGN_RIGHT) + +grid! = new BBjGridExWidget(wnd!,101, 0 , 0 , 800 , 560) +grid!.setEnableRangeSelection(1) +grid!.setNavigationBehavior(grid!.GRID_NAVIGATION_BEHAVIOUR_NEXT_CELL()) +grid!.setSuppressRowClickSelection(1) +grid!.setCallback(grid!.ON_GRID_RANGE_SELECTION_CHANGED(),"onRangeSelectionChange") + +gosub main +process_events + +main: + declare SqlQueryBC sbc! + declare ResultSet rs! + + sbc! = new SqlQueryBC(BBjAPI().getJDBCConnection("CDStore")) + rs! = sbc!.retrieve("SELECT CDNUMBER , TITLE , MUSICTYPE,COST FROM CDINVENTORY") + + grid!.setData(rs!) +return + +onRangeSelectionChange: + rem array of ranges + ranges! = grid!.getRangeSelection() + IF (ranges!.size() = 0) THEN + return + ENDIF + + rangesLength! = ranges!.size() - 1 + + sum! = 0 + count! = 0 + min! = 0 + max! = 0 + average! = 0 + values! = new ArrayList() + + rem we start by looping over all ranges + FOR rangeIndex! = 0 TO rangesLength! + + currentRange! = ranges!.get(rangeIndex!) + + rows! = currentRange!.getRows() + rowsLength! = rows!.size() - 1 + + columns! = currentRange!.getColumns() + columnsLength! = columns!.size() - 1 + + count! = count! + (columns!.size() * rows!.size()) + + FOR rowIndex! = 0 TO rowsLength! + + FOR columnsIndex! = 0 TO columnsLength! + + column! = columns!.get(columnsIndex!) + type! = column!.getType() + + SWITCH (type!) + case Types.INTEGER + case Types.DECIMAL + case Types.DOUBLE + case Types.NUMERIC + + row! = rows!.get(rowIndex!).asDataRow() + value! = num(row!.getField(column!.getName()).getValue()) + sum! = sum! + value! + values!.add(value!) + + BREAK + CASE DEFAULT + BREAK + SWEND + + NEXT columnsIndex! + + NEXT rowIndex! + + NEXT rangeIndex! + + IF (values!.size() > 0) THEN + min! = Collections.min(values!) + max! = Collections.max(values!) + average! = sum! / values!.size() + ENDIF + + static!.setText("Count : " + str(count!) + " - Sum : " + str(sum!) + " - Min : " + str(min!) + " - Max : " + str(max!) + " - Average : " + str(average!)) +return + +rem /** +rem * Listen to the BBjTopLevelWindow resize events and +rem * resize the grid to fill the available space. +rem */ +resize: + ev! = BBjAPI().getLastEvent() + w=ev!.getWidth() + h=ev!.getHeight() + grid!.setSize(w,h) +return + +rem /** +rem * Close the demo +rem */ +byebye: +bye \ No newline at end of file diff --git a/client/dist/bbj-grid-widget.js b/client/dist/bbj-grid-widget.js index 4d8db266..4dbd2334 100644 --- a/client/dist/bbj-grid-widget.js +++ b/client/dist/bbj-grid-widget.js @@ -5790,6 +5790,7 @@ module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/ /***/ }), +<<<<<<< HEAD /***/ "./node_modules/core-js/fn/number/is-integer.js": /*!******************************************************!*\ !*** ./node_modules/core-js/fn/number/is-integer.js ***! @@ -5803,6 +5804,8 @@ module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/ /***/ }), +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /***/ "./node_modules/core-js/fn/string/starts-with.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/fn/string/starts-with.js ***! @@ -6312,6 +6315,7 @@ module.exports = Array.isArray || function isArray(arg) { /***/ }), +<<<<<<< HEAD /***/ "./node_modules/core-js/modules/_is-integer.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_is-integer.js ***! @@ -6329,6 +6333,8 @@ module.exports = function isInteger(it) { /***/ }), +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /***/ "./node_modules/core-js/modules/_is-object.js": /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_is-object.js ***! @@ -6694,6 +6700,7 @@ $export($export.P + $export.F * !STRICT, 'Array', { /***/ }), +<<<<<<< HEAD /***/ "./node_modules/core-js/modules/es6.number.is-integer.js": /*!***************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-integer.js ***! @@ -6709,6 +6716,8 @@ $export($export.S, 'Number', { isInteger: __webpack_require__(/*! ./_is-integer /***/ }), +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /***/ "./node_modules/core-js/modules/es6.string.starts-with.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/modules/es6.string.starts-with.js ***! @@ -10720,7 +10729,10 @@ exports.gw_startEditingCell = gw_startEditingCell; exports.gw_stopEditing = gw_stopEditing; exports.gw_editNextCell = gw_editNextCell; exports.gw_editPreviousCell = gw_editPreviousCell; +<<<<<<< HEAD exports.gw_setFocusedCell = gw_setFocusedCell; +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` var _utilities = __webpack_require__(/*! ./utilities */ "./src/api/utilities.js"); @@ -10772,6 +10784,7 @@ function gw_editNextCell(id) { function gw_editPreviousCell(id) { (0, _utilities.gw_getGrid)(id).options.api.tabToPreviousCell(); } +<<<<<<< HEAD /** * Set Focus on the given row and column * @@ -10787,6 +10800,8 @@ function gw_setFocusedCell(id, row, column) { var c = column ? column : options.columnApi.getAllGridColumns()[0].colId; (0, _utilities.gw_getGrid)(id).options.api.setFocusedCell(r, c); } +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /***/ }), @@ -11333,6 +11348,10 @@ function gw_parseOptions(options) { "popupParent": (0, _utilities.gw_getDocument)().body, "onRowDoubleClicked": (0, _events.gw_debounce)(_events.gw_onRowDoubleClicked, debounceDuration), "onSelectionChanged": (0, _events.gw_debounce)(_events.gw_onSelectionChanged, debounceDuration), +<<<<<<< HEAD +======= + "onRangeSelectionChanged": (0, _events.gw_debounce)(_events.gw_onRangeSelectionChanged, debounceDuration), +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` "components": { "BasicBooleansRenderer": Basis.AgGridComponents.BasicBooleansRenderer, "BasicBooleansEditor": Basis.AgGridComponents.BasicBooleansEditor, @@ -12051,7 +12070,11 @@ function gw_addGrid(id, options) { Object.defineProperty(exports, "__esModule", { value: true }); +<<<<<<< HEAD exports.GW_EVENT_GRID_STATE_CHANGE = exports.GW_EVENT_ROW_EDITING_STOPPED = exports.GW_EVENT_ROW_EDITING_STARTED = exports.GW_EVENT_CELL_VALUE_CHANGED = exports.GW_EVENT_CELL_EDITING_STOPPED = exports.GW_EVENT_CELL_EDITING_STARTED = exports.GW_EVENT_CELL_DOUBLE_CLICK = exports.GW_EVENT_CELL_CLICK = exports.GW_EVENT_ROW_DOUBLE_CLICK = exports.GW_EVENT_ROW_CLICK = void 0; +======= +exports.GW_EVENT_RANGE_SELECTION_CHANGED = exports.GW_EVENT_GRID_STATE_CHANGE = exports.GW_EVENT_ROW_EDITING_STOPPED = exports.GW_EVENT_ROW_EDITING_STARTED = exports.GW_EVENT_CELL_VALUE_CHANGED = exports.GW_EVENT_CELL_EDITING_STOPPED = exports.GW_EVENT_CELL_EDITING_STARTED = exports.GW_EVENT_CELL_DOUBLE_CLICK = exports.GW_EVENT_CELL_CLICK = exports.GW_EVENT_ROW_DOUBLE_CLICK = exports.GW_EVENT_ROW_CLICK = void 0; +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /* * This file is part of the BBjGridExWidget plugin. @@ -12081,8 +12104,16 @@ exports.GW_EVENT_ROW_EDITING_STARTED = GW_EVENT_ROW_EDITING_STARTED; var GW_EVENT_ROW_EDITING_STOPPED = 5007; // state constants exports.GW_EVENT_ROW_EDITING_STOPPED = GW_EVENT_ROW_EDITING_STOPPED; +<<<<<<< HEAD var GW_EVENT_GRID_STATE_CHANGE = 5008; exports.GW_EVENT_GRID_STATE_CHANGE = GW_EVENT_GRID_STATE_CHANGE; +======= +var GW_EVENT_GRID_STATE_CHANGE = 5008; // range selection + +exports.GW_EVENT_GRID_STATE_CHANGE = GW_EVENT_GRID_STATE_CHANGE; +var GW_EVENT_RANGE_SELECTION_CHANGED = 5009; +exports.GW_EVENT_RANGE_SELECTION_CHANGED = GW_EVENT_RANGE_SELECTION_CHANGED; +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /***/ }), @@ -12219,6 +12250,15 @@ Object.defineProperty(exports, "gw_onCellClickEvent", { return _selections.gw_onCellClickEvent; } }); +<<<<<<< HEAD +======= +Object.defineProperty(exports, "gw_onRangeSelectionChanged", { + enumerable: true, + get: function get() { + return _selections.gw_onRangeSelectionChanged; + } +}); +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` Object.defineProperty(exports, "gw_onCellEditingEvent", { enumerable: true, get: function get() { @@ -12269,6 +12309,10 @@ Object.defineProperty(exports, "__esModule", { }); exports.gw_onRowDoubleClicked = gw_onRowDoubleClicked; exports.gw_onSelectionChanged = gw_onSelectionChanged; +<<<<<<< HEAD +======= +exports.gw_onRangeSelectionChanged = gw_onRangeSelectionChanged; +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` exports.gw_onCellClickEvent = gw_onCellClickEvent; var _utilities = __webpack_require__(/*! ./utilities */ "./src/events/utilities.js"); @@ -12324,6 +12368,26 @@ function gw_onSelectionChanged(e) { }, _constants.GW_EVENT_ROW_CLICK); } /** +<<<<<<< HEAD +======= + * A handler for the grid `rangeSelectionChanged` event + * + * @param {Object} e + * + * @listens agGrid.rangeSelectionChanged + * @fires gw.rangeSelection + */ + + +function gw_onRangeSelectionChanged(e) { + var context = e.api.gridOptionsWrapper.gridOptions.context; + (0, _utilities.gw_sendEvent)(context, { + 'type': 'gw.rangeSelection', + 'detail': '' + }, _constants.GW_EVENT_RANGE_SELECTION_CHANGED); +} +/** +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` * A handler for the grid `cellClickEvent` & `cellDoubleClicked` event * * @param {String} id The grid's id @@ -12689,20 +12753,33 @@ if(false) {} /***/ }), /***/ 0: +<<<<<<< HEAD /*!*******************************************************************************************************************************************************!*\ !*** multi core-js/fn/string/starts-with.js core-js/fn/array/for-each.js core-js/fn/array/includes.js core-js/fn/number/is-integer.js ./src/index.js ***! \*******************************************************************************************************************************************************/ +======= +/*!***********************************************************************************************************************!*\ + !*** multi core-js/fn/string/starts-with.js core-js/fn/array/for-each.js core-js/fn/array/includes.js ./src/index.js ***! + \***********************************************************************************************************************/ +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! core-js/fn/string/starts-with.js */"./node_modules/core-js/fn/string/starts-with.js"); __webpack_require__(/*! core-js/fn/array/for-each.js */"./node_modules/core-js/fn/array/for-each.js"); __webpack_require__(/*! core-js/fn/array/includes.js */"./node_modules/core-js/fn/array/includes.js"); +<<<<<<< HEAD __webpack_require__(/*! core-js/fn/number/is-integer.js */"./node_modules/core-js/fn/number/is-integer.js"); +======= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js"); /***/ }) /******/ }))); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsImd3X3N0YXJ0RWRpdGluZ0NlbGwiLCJpZCIsInJvdyIsImNvbEtleSIsImNoYXIiLCJvcHRpb25zIiwiYXBpIiwic2V0Rm9jdXNlZENlbGwiLCJOdW1iZXIiLCJzdGFydEVkaXRpbmdDZWxsIiwicm93SW5kZXgiLCJrZXlQcmVzcyIsImNoYXJQcmVzcyIsImd3X3N0b3BFZGl0aW5nIiwiY2FuY2VsIiwic3RvcEVkaXRpbmciLCJnd19lZGl0TmV4dENlbGwiLCJ0YWJUb05leHRDZWxsIiwiZ3dfZWRpdFByZXZpb3VzQ2VsbCIsInRhYlRvUHJldmlvdXNDZWxsIiwiZ3dfc2V0Rm9jdXNlZENlbGwiLCJjb2x1bW4iLCJyIiwiaXNJbnRlZ2VyIiwiZ2V0Um93Tm9kZSIsImMiLCJjb2x1bW5BcGkiLCJnZXRBbGxHcmlkQ29sdW1ucyIsImNvbElkIiwicmVxdWlyZSIsImd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zIiwiZGVmaW5pdGlvbnMiLCJpIiwiZGVmIiwiY2hlY2tib3hTZWxlY3Rpb24iLCJnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveCIsImhlYWRlckNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X3NldENvbHVtbkRlZmluaXRpb25zIiwiZ3JpZCIsImRlZXBQYXJzZWREZWZpbml0aW9ucyIsInN0cmluZ2lmeSIsInNldENvbHVtbkRlZnMiLCJjb2x1bW5EZWZzIiwiZ3dfc2l6ZUNvbHVtbnNUb0ZpdCIsInNpemVDb2x1bW5zVG9GaXQiLCJnd19zZXRWaXNpYmxlQ29sdW1uIiwiY29sdW1uSWQiLCJlbnN1cmVDb2x1bW5WaXNpYmxlIiwiZ3dfc2V0Q29sdW1uV2lkdGgiLCJ3aWR0aCIsInNldENvbHVtbldpZHRoIiwiZ3dfcGluQ29sdW1uIiwicGluIiwic2V0Q29sdW1uUGlubmVkIiwiZ3dfbW92ZUNvbHVtbiIsInRvSW5kZXgiLCJtb3ZlQ29sdW1uIiwicGFyYW0iLCJjb250ZXh0Iiwic2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiY29sdW1ucyIsImdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zIiwiY29sRGVmIiwiZmllbGQiLCJncmlkT3B0aW9uc1dyYXBwZXIiLCJncmlkT3B0aW9ucyIsInNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCIsImd3X2FkZFJvd0dyb3VwQ29sdW1uIiwic2V0Iiwic3BsaXQiLCJ0cmltIiwiZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4iLCJyZW1vdmVSb3dHcm91cENvbHVtbnMiLCJnd19nZXRQaXZvdE1vZGUiLCJpc1Bpdm90TW9kZSIsImd3X3NldFBpdm90TW9kZSIsIm1vZGUiLCJzZXRQaXZvdE1vZGUiLCJnd19hZGRQaXZvdENvbHVtbnMiLCJnd19yZW1vdmVQaXZvdENvbHVtbnMiLCJyZW1vdmVQaXZvdENvbHVtbnMiLCJnd19hZGRWYWx1ZUNvbHVtbnMiLCJhZGRWYWx1ZUNvbHVtbnMiLCJnd19yZW1vdmVWYWx1ZUNvbHVtbnMiLCJyZW1vdmVWYWx1ZUNvbHVtbnMiLCJnd191cGRhdGVDb250ZXh0IiwidmFsdWUiLCJ0ZW1wbGF0ZSIsImd3X2luaXQiLCJsaWNlbnNlIiwiZGF0YSIsImFnR3JpZCIsIkxpY2Vuc2VNYW5hZ2VyIiwic2V0TGljZW5zZUtleSIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJIVE1MIiwicGFyc2VkT3B0aW9ucyIsImd3X3BhcnNlT3B0aW9ucyIsInJvd0RhdGEiLCJpbnN0YW5jZSIsIkdyaWQiLCJjb25zb2xlIiwibG9nIiwiZGVlcFBhcnNlZE9wdGlvbnMiLCJnZXREYXRhUGF0aFRlbXBsYXRlIiwiZ2V0RGF0YVBhdGgiLCJkZWJvdW5jZUR1cmF0aW9uIiwiZmluYWxPcHRpb25zIiwiZ2V0RG9jdW1lbnQiLCJvbkNlbGxFZGl0aW5nU3RhcnRlZCIsImUiLCJvbkNlbGxFZGl0aW5nU3RvcHBlZCIsIm9uQ2VsbFZhbHVlQ2hhbmdlZCIsIm9uUm93RWRpdGluZ1N0YXJ0ZWQiLCJvblJvd0VkaXRpbmdTdG9wcGVkIiwib25Sb3dWYWx1ZUNoYW5nZWQiLCJvbkNlbGxDbGlja2VkIiwib25DZWxsRG91YmxlQ2xpY2tlZCIsIm9uR3JpZFJlYWR5IiwiZ2V0Um93Tm9kZUlkIiwiZ3dfZ2V0Um93Tm9kZUlkIiwiZ2V0Q29udGV4dE1lbnVJdGVtcyIsInBhcmFtcyIsImJvZHkiLCJnd19vblJvd0RvdWJsZUNsaWNrZWQiLCJnd19vblNlbGVjdGlvbkNoYW5nZWQiLCJCYXNpcyIsIkFnR3JpZENvbXBvbmVudHMiLCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXIiLCJCYXNpY0Jvb2xlYW5zRWRpdG9yIiwiQmFzaWNCb29sZWFuc0ZpbHRlciIsIkJhc2ljTnVtYmVyc0VkaXRvciIsIkJhc2ljRGF0ZVRpbWVzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNGaWx0ZXIiLCJCYXNpY0ltYWdlc1JlbmRlcmVyIiwiY29tcGlsZWQiLCJfX1RFTVBMQVRFX18iLCJoYXNPd25Qcm9wZXJ0eSIsIm5hdmlnYXRlVG9OZXh0Q2VsbCIsInRyZWVEYXRhIiwiZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkIiwiZm9ybWF0U2VsZWN0b3IiLCJzZWxlY3RvciIsInN0YXJ0c1dpdGgiLCJnd19zZXRTdHlsZSIsInJ1bGVzIiwianNzIiwiZm9yRG9jdW1lbnQiLCJnd19yZW1vdmVTdHlsZSIsInJlbW92ZSIsImd3X2dldENvbnRleHRNZW51IiwiZ3JpZElkIiwiYnVpbGRDb250ZXh0TWVudUFjdGlvbiIsIm5vZGUiLCJwYXJzZU1lbnUiLCJtZW51IiwiZm9yRWFjaCIsIml0ZW0iLCJjb250ZXh0TWVudSIsImd3X3Nob3dMb2FkaW5nT3ZlcmxheSIsInNob3dMb2FkaW5nT3ZlcmxheSIsImd3X3Nob3dOb1Jvd3NPdmVybGF5Iiwic2hvd05vUm93c092ZXJsYXkiLCJnd19oaWRlT3ZlcmxheSIsImhpZGVPdmVybGF5IiwiZ3dfc2V0UXVpY2tGaWx0ZXIiLCJmaWx0ZXIiLCJzZXRRdWlja0ZpbHRlciIsImd3X2V4cGFuZEFsbCIsImV4cGFuZEFsbCIsImd3X2NvbGxhcHNlQWxsIiwiY29sbGFwc2VBbGwiLCJnd19zZXRWaXNpYmxlUm93IiwiaW5kZXgiLCJwb3NpdGlvbiIsImVuc3VyZUluZGV4VmlzaWJsZSIsImd3X25hdmlnYXRlVG9OZXh0Um93IiwicHJldmlvdXNDZWxsIiwicHJldmlvdXNDZWxsUG9zaXRpb24iLCJzdWdnZXN0ZWROZXh0Q2VsbCIsIm5leHRDZWxsUG9zaXRpb24iLCJLRVlfVVAiLCJLRVlfRE9XTiIsIktFWV9MRUZUIiwiS0VZX1JJR0hUIiwiZm9yRWFjaE5vZGUiLCJzZXRTZWxlY3RlZCIsIkVycm9yIiwiZ3dfc2V0Um93c0RhdGEiLCJqc29uIiwic2V0Um93RGF0YSIsInJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwiLCJnd19zZXRSb3dEYXRhIiwidXBkYXRlUm93RGF0YSIsInVwZGF0ZSIsImd3X3JlbW92ZVJvd3MiLCJpbmRleGVzIiwiaXRlbXMiLCJwdXNoIiwiZ3dfYWRkUm93cyIsInJvd3MiLCJhZGQiLCJhZGRJbmRleCIsImd3X3NldFJvd3NIZWlnaHQiLCJoZWlnaHQiLCJzZXRSb3dIZWlnaHQiLCJvblJvd0hlaWdodENoYW5nZWQiLCJnd19zZXRSb3dIZWlnaHQiLCJnZXREaXNwbGF5ZWRSb3dBdEluZGV4Iiwid2FybiIsImd3X3NldFNlbGVjdGVkUm93cyIsImZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0IiwiaW5kZXhPZiIsImV4cGFuZGVkIiwib25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQiLCJnd19zZWxlY3RBbGwiLCJmaWx0ZXJlZCIsInNlbGVjdEFsbEZpbHRlcmVkIiwic2VsZWN0QWxsIiwiZ3dfZGVzZWxlY3RBbGwiLCJkZXNlbGVjdEFsbEZpbHRlcmVkIiwiZGVzZWxlY3RBbGwiLCJnd19nZXRTZWxlY3RlZFJvd3MiLCJub2RlcyIsImdldFNlbGVjdGVkTm9kZXMiLCJwYXJzZWQiLCJnd19nZXRTZWxlY3RlZFJvdyIsImxlbmd0aCIsImd3X3NldFN0YXRlIiwic3RhdGUiLCJzZXRDb2x1bW5TdGF0ZSIsInNldENvbHVtbkdyb3VwU3RhdGUiLCJncm91cHMiLCJzZXRTb3J0TW9kZWwiLCJzb3J0Iiwic2V0RmlsdGVyTW9kZWwiLCJmaWx0ZXJzIiwiZ3dfZ2V0U3RhdGUiLCJnZXRDb2x1bW5TdGF0ZSIsImdldENvbHVtbkdyb3VwU3RhdGUiLCJnZXRTb3J0TW9kZWwiLCJnZXRGaWx0ZXJNb2RlbCIsImd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkiLCJ2aXNpYmlsaXR5IiwiZ2V0U3RhdHVzUGFuZWwiLCJzZXRWaXNpYmxlIiwiQm9vbGVhbiIsImd3X3NldFNpZGVCYXJWaXNpYmxlIiwic2V0U2lkZUJhclZpc2libGUiLCJnd19vcGVuVG9vbHBhbmVsIiwidG9vbHBhbmVsSWQiLCJvcGVuVG9vbFBhbmVsIiwiZ3dfY2xvc2VUb29scGFuZWwiLCJjbG9zZVRvb2xQYW5lbCIsImd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5IiwicmVhZG9ubHkiLCJzZXRGdW5jdGlvbnNSZWFkT25seSIsImd3X2dldERvY3VtZW50IiwiJGRvYyIsImRvY3VtZW50IiwiZ3dfZ2V0V2luZG93IiwiJHdpbiIsIndpbmRvdyIsImd3X2VzY2FwZSIsInVuZGVmaW5lZCIsImd3X2dldEdyaWQiLCJCQmpHcmlkRXhXaWRnZXQiLCJyZWdpc3RlcmVkR3JpZHMiLCJUeXBlRXJyb3IiLCJnd19hZGRHcmlkIiwiR1dfRVZFTlRfUk9XX0NMSUNLIiwiR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQiLCJHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCIsIkdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFIiwiQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAiLCJST1dfRURJVElOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsRWRpdGluZ0V2ZW50IiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsInR5cGUiLCJnd19vblJvd0VkaXRpbmdFdmVudCIsIkNFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUCIsImd3X29uQ2VsbENsaWNrRXZlbnQiLCJnd19vblJlYWR5RXZlbnQiLCJzdGF0ZURlYm91bmNlIiwiY2hhbmdlRXZlbnQiLCJnd19vblN0YXRlQ2hhbmdlZCIsImV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImd3X2RlYm91bmNlIiwiZnVuYyIsIndhaXQiLCJpbW1lZGlhdGUiLCJ0aW1lb3V0IiwiYXJncyIsImFyZ3VtZW50cyIsImxhdGVyIiwiYXBwbHkiLCJjYWxsTm93IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImd3X3NlbmRFdmVudCIsInBheWxvYWQiLCJldmVudElkIiwicmVnaXN0ZXJlZEludGVyZXN0cyIsImludGVyZXN0cyIsImluY2x1ZGVzIiwiZGl2IiwiQ3VzdG9tRXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiZ3dfcGFyc2VOb2RlIiwiZ3JvdXAiLCJyb3dOb2RlSWQiLCJwYXJlbnRLZXkiLCJwYXJlbnQiLCJjaGlsZEluZGV4Iiwic2VsZWN0ZWQiLCJnd19wYXJzZU5vZGVGcm9tRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImRldGFpbCIsImV2dCIsImNyZWF0ZUV2ZW50IiwiaW5pdEN1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dEI7QUFDQSxnQkFBZ0IsT0FBTztBQUN2Qjs7QUFFQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxPQUFPO0FBQ1A7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUM4QjtBQUNsQyxDQUFDLHFCQUFxQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0RUFBNEU7QUFDNUU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSw2RkFBNkY7QUFDN0Y7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdKQUFnSjtBQUNoSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGdDQUFnQyxlQUFlO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0MsZUFBZTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxlQUFlO0FBQ25FO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0Msb0VBQW9FO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGNBQWMsNEJBQTRCO0FBQzFDO0FBQ0E7O0FBRUEsMkJBQTJCLDBCQUEwQjtBQUNyRDtBQUNBOztBQUVBLDBDQUEwQyxxRkFBcUY7QUFDL0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLDRCQUE0QjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDLEtBQUs7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx1R0FBdUc7O0FBRXZHLDRDQUE0QyxLQUFLO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDLEtBQUs7QUFDaEQ7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4RkFBOEY7QUFDOUY7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxFQUFFLGlIQUFpSDtBQUM1SDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7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RUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVB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QXVDLDRCQUE0QixFQUFFLGlDQUFpQyx1QkFBdUIsRUFBRSw2QkFBNkIscUNBQXFDLHFDQUFxQyxFQUFFLHdHQUF3RyxzQkFBc0IsdUNBQXVDLHVDQUF1QyxFQUFFLG1DQUFtQyxzQ0FBc0Msc0NBQXNDLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRB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cUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNE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RUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLHNDQUFzQyw0QkFBNEIsNkJBQTZCLEVB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QWlDLHNDQUFzQyxzQ0FBc0MsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCw0QkFBNEIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsNEJBQTRCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDRCQUE0QixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCw0QkFBNEIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsNEJBQTRCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDRCQUE0QixFQUFFLHlEQUF5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QUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLHNDQUFzQyw0QkFBNEIsNkJBQTZCLEVBQUUsOEVBQThFLHNCQUFzQixFQUFFLDRGQUE0RixrQkFBa0IsRUFBRSw4RUFBOEUsdUJBQXVCLEVBQUUsNkJBQTZCLG1EQUFtRCxFQUFFLHNEQUFzRCx3QkFBd0IsRUFBRSxxQ0FBcUMsb0NBQW9DLEVBQUUsK0lBQStJLHNDQUFzQyxFQUFFLDJJQUEySSx1Q0FBdUMsRUFBRSxzREFBc0QseUJBQXlCLEVBQUUscUNBQXFDLG1DQUFtQyxFQUFFLCtJQUErSSxzQ0FBc0MsRUFBRSwySUFBMkksdUNBQXVDLEVBQUUsMkNBQTJDLHlCQUF5QixFQUFFLDhDQUE4Qyx5QkFBeUIsRUFBRSxnREFBZ0QsaUJBQWlCLEVBQUUsMkNBQTJDLG9DQUFvQyx5QkFBeUIsd0JBQXdCLHlCQUF5Qiw4Q0FBOEMsc0NBQXNDLEVBQUUscURBQXFELGtDQUFrQyxnREFBZ0Qsd0NBQXdDLEVBQUUsa1VBQWtVLHdCQUF3QiwwQkFBMEIsNEJBQTRCLEVBQUUseVhBQXlYLHdDQUF3QyxnREFBZ0QseUNBQXlDLEVBQUUsZ0VBQWdFLDBCQUEwQiw2QkFBNkIsNkJBQTZCLEVBQUUsb0RBQW9ELHdCQUF3QiwwQkFBMEIsNEJBQTRCLEVBQUUsK0RBQStELHdDQUF3QyxnREFBZ0QseUNBQXlDLEVBQUUsK0JBQStCLGdDQUFnQyw2QkFBNkIscUJBQXFCLHVCQUF1QixzQkFBc0Isa0RBQWtELHdDQUF3QyxFQUFFLDRDQUE0QyxzQ0FBc0MsRUFBRSwyQ0FBMkMsdUNBQXVDLEVBQUUsbUNBQW1DLG1CQUFtQixFQUFFLDRCQUE0QiwwQkFBMEIsNkJBQTZCLHNCQUFzQixFQUFFLGlEQUFpRCw0QkFBNEIsRUFBRSwwQ0FBMEMsK0JBQStCLEVBQUUsZ0NBQWdDLGdDQUFnQyxFQUFFLGlDQUFpQyxnQ0FBZ0MsRUFBRSwrQ0FBK0MsdUNBQXVDLEVBQUUsb0VBQW9FLDJCQUEyQixFQUFFLGdEQUFnRCxzQ0FBc0MsRUFBRSxxRUFBcUUsMEJBQTBCLEVBQUUsa0NBQWtDLGdDQUFnQyxFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSwwREFBMEQsdUJBQXVCLGlCQUFpQixFQUFFLDZFQUE2RSwwQkFBMEIsNkJBQTZCLHlCQUF5QiwwQkFBMEIsc0JBQXNCLEVBQUUsNkhBQTZILGtDQUFrQyxFQUFFLHlKQUF5Siw4QkFBOEIsRUFBRSxnSUFBZ0ksMEJBQTBCLEVBQUUsMkNBQTJDLHlCQUF5QixFQUFFLDBDQUEwQyx5QkFBeUIsRUFBRSw2QkFBNkIsd0JBQXdCLHlCQUF5QiwwQkFBMEIsb0NBQW9DLHlCQUF5QiwwQkFBMEIsRUFBRSxpQ0FBaUMsbUJBQW1CLDJCQUEyQixtQkFBbUIsc0JBQXNCLEVBQUUsbUZBQW1GLG1CQUFtQixFQUFFLG9DQUFvQyxtQkFBbUIsMkJBQTJCLG1CQUFtQixFQUFFLHFDQUFxQyxtQkFBbUIsRUFBRSw4ZkFBOGYsZ0NBQWdDLHVCQUF1QixFQUFFLDJDQUEyQyxpQkFBaUIsRUFBRSw2QkFBNkIsMEJBQTBCLHVCQUF1QiwrQkFBK0IsK0JBQStCLG1CQUFtQixpQkFBaUIsRUFBRSw2Q0FBNkMsd0JBQXdCLDJCQUEyQix3QkFBd0Isb0JBQW9CLEVBQUUsc0RBQXNELGtDQUFrQyxFQUFFLHdEQUF3RCxxQkFBcUIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQiwyQkFBMkIsd0JBQXdCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLGtEQUFrRCxvQkFBb0IsRUFBRSwyREFBMkQscVNBQXFTLEVBQUUsNkRBQTZELG9CQUFvQiwyQkFBMkIsRUFBRSxpQ0FBaUMsMEJBQTBCLHVCQUF1QiwrQkFBK0IsK0JBQStCLG1CQUFtQixpQ0FBaUMscUJBQXFCLHVCQUF1QixzQkFBc0Isa0RBQWtELDhCQUE4Qix3QkFBd0IsZ0JBQWdCLHFCQUFxQix5Q0FBeUMseUNBQXlDLEVBQUUsOEVBQThFLHFCQUFxQixrQkFBa0IsbUJBQW1CLEVBQUUsc0RBQXNELDBCQUEwQixtQkFBbUIsRUFBRSxtQ0FBbUMsMEJBQTBCLHVCQUF1QixrQkFBa0IsMkJBQTJCLDJCQUEyQixvQkFBb0IsRUFBRSw2Q0FBNkMsNkJBQTZCLDZCQUE2QixzQkFBc0IsNkNBQTZDLHFCQUFxQiw0QkFBNEIsMkJBQTJCLDJCQUEyQixrQ0FBa0MsbUNBQW1DLG9DQUFvQyxpQ0FBaUMsa0NBQWtDLHdDQUF3QyxFQUFFLGlDQUFpQyxxQkFBcUIsRUFBRSxpREFBaUQseUJBQXlCLHNCQUFzQixFQUFFLDRFQUE0RSx5QkFBeUIsRUFBRSwyRUFBMkUsNEJBQTRCLEVBQUUsb0dBQW9HLG1DQUFtQyxFQUFFLDRGQUE0Rix5QkFBeUIsRUFBRSwrQ0FBK0Msb0JBQW9CLEVBQUUsaURBQWlELHVCQUF1Qix3QkFBd0IsRUFBRSxpREFBaUQsa0JBQWtCLEVBQUUscURBQXFELDBCQUEwQixrQkFBa0IsbUJBQW1CLDBCQUEwQixFQUFFLHVHQUF1Ryx3QkFBd0IsRUFBRSxtREFBbUQsb0JBQW9CLEVBQUUsbURBQW1ELG1CQUFtQiwyQkFBMkIsMkJBQTJCLG9CQUFvQixnQ0FBZ0MsaUNBQWlDLGtDQUFrQyxFQUFFLGlIQUFpSCx5QkFBeUIsNkJBQTZCLDZCQUE2QixzQkFBc0IsRUFBRSx3RUFBd0Usd0NBQXdDLEVBQUUsc0RBQXNELDJCQUEyQiwyQkFBMkIsb0JBQW9CLDRCQUE0Qiw2QkFBNkIsd0NBQXdDLG1CQUFtQix1QkFBdUIsRUFBRSwrREFBK0QseUJBQXlCLEVBQUUsd0VBQXdFLHlCQUF5QixFQUFFLHVKQUF1SixtQkFBbUIsRUFBRSx5bkJBQXluQix5QkFBeUIsMEJBQTBCLEVBQUUsd0VBQXdFLHFDQUFxQyx1QkFBdUIsRUFBRSxnRkFBZ0Ysd0JBQXdCLEVBQUUsdUdBQXVHLHdCQUF3QixFQUFFLGtEQUFrRCxxQ0FBcUMsbUJBQW1CLGdDQUFnQyxpQ0FBaUMsa0NBQWtDLEVBQUUsMERBQTBELHdCQUF3QixzQkFBc0IsRUFBRSxvRUFBb0UseUJBQXlCLDBCQUEwQixFQUFFLDJDQUEyQyxzQkFBc0IsRUFBRSw4REFBOEQsb0JBQW9CLEVBQUUsOEZBQThGLHlCQUF5QiwyQkFBMkIsOEJBQThCLDZCQUE2Qiw2QkFBNkIsdUNBQXVDLHdDQUF3Qyx5Q0FBeUMseUNBQXlDLGdDQUFnQyxnQ0FBZ0MsK0JBQStCLCtCQUErQix3QkFBd0IsdUNBQXVDLHVDQUF1QyxFQUFFLDRIQUE0SCw2QkFBNkIsRUFBRSxvSUFBb0ksNkJBQTZCLEVBQUUsd0ZBQXdGLDJCQUEyQixFQUFFLCtFQUErRSxxQ0FBcUMseUJBQXlCLDBCQUEwQix5QkFBeUIsRUFBRSxrRUFBa0UscUJBQXFCLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLDRCQUE0QiwyQkFBMkIsMkJBQTJCLEVBQUUsMEZBQTBGLCtCQUErQiwrQkFBK0Isd0JBQXdCLG9DQUFvQyxxQ0FBcUMsc0NBQXNDLDJCQUEyQixFQUFFLHFFQUFxRSwwQ0FBMEMsNEJBQTRCLHVCQUF1QixFQUFFLDZEQUE2RCwwQ0FBMEMsdUJBQXVCLDRCQUE0QixFQUFFLDZGQUE2RiwwQ0FBMEMsMkJBQTJCLDBCQUEwQixzREFBc0QsNkJBQTZCLDZCQUE2QiwwQkFBMEIsRUFBRSxvRkFBb0YsMEJBQTBCLDBCQUEwQixFQUFFLG9GQUFvRiw0QkFBNEIsNkJBQTZCLEVBQUUsMEVBQTBFLDJCQUEyQixFQUFFLDZFQUE2RSxxQkFBcUIsd0JBQXdCLEVBQUUscUNBQXFDLHFDQUFxQyxxQkFBcUIsbUJBQW1CLHNCQUFzQixFQUFFLDhDQUE4QywwQkFBMEIsRUFBRSwyREFBMkQsa0JBQWtCLG1CQUFtQixzQkFBc0IsRUFBRSx5RUFBeUUsd0NBQXdDLHFCQUFxQixFQUFFLG9FQUFvRSxvQkFBb0IscUJBQXFCLG1CQUFtQixFQUFFLHVEQUF1RCxvQkFBb0IsRUFBRSxxQ0FBcUMsZ0NBQWdDLEVBQUUsb0xBQW9MLG9DQUFvQyxFQUFFLDBOQUEwTixrQ0FBa0MsRUFBRSw4TkFBOE4sb0NBQW9DLEVBQUUsZ09BQWdPLHFDQUFxQyxFQUFFLDROQUE0TixtQ0FBbUMsRUFBRSxnRUFBZ0UsaURBQWlELEVBQUUsc0ZBQXNGLG1EQUFtRCxFQUFFLG1IQUFtSCxtREFBbUQsRUFBRSxrRUFBa0UsaURBQWlELEVBQUUsa0VBQWtFLGlEQUFpRCxFQUFFLGtFQUFrRSxpREFBaUQsRUFBRSxrRUFBa0UsaURBQWlELEVBQUUsa0dBQWtHLHFDQUFxQyxFQUFFLGtLQUFrSyx1Q0FBdUMsRUFBRSxzR0FBc0csdUNBQXVDLEVBQUUsc0tBQXNLLHlDQUF5QyxFQUFFLHdHQUF3Ryx3Q0FBd0MsRUFBRSx3S0FBd0ssMENBQTBDLEVBQUUsb0dBQW9HLHNDQUFzQyxFQUFFLG9LQUFvSyx3Q0FBd0MsRUFBRSxxRUFBcUUseUJBQXlCLGlCQUFpQixrQkFBa0IsbUJBQW1CLGtCQUFrQixnQ0FBZ0MsRUFBRSxvQ0FBb0MsbUJBQW1CLEVBQUUscUNBQXFDLDBCQUEwQixFQUFFLDRDQUE0QyxvQkFBb0IsbUJBQW1CLEVBQUUsNkVBQTZFLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsRUFBRSxxQ0FBcUMsaUJBQWlCLEVBQUUsbUVBQW1FLHFCQUFxQixzQkFBc0IsRUFBRSx5REFBeUQsbUJBQW1CLHNCQUFzQixFQUFFLDBEQUEwRCw0QkFBNEIsbUJBQW1CLEVBQUUsMERBQTBELHNCQUFzQixtQkFBbUIsRUFBRSxrRUFBa0Usa0NBQWtDLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLGlFQUFpRSxnQ0FBZ0MsRUFBRSx1REFBdUQsd0JBQXdCLEVBQUUsc0RBQXNELCtCQUErQiwrQkFBK0IsK0JBQStCLDhCQUE4QixnQkFBZ0IsbUJBQW1CLGlCQUFpQixrQkFBa0IsRUFBRSw0cUJBQTRxQix3QkFBd0IsRUFBRSxzVEFBc1Qsd0JBQXdCLEVBQUUsMENBQTBDLHVCQUF1QixFQUFFLGdEQUFnRCx5QkFBeUIsRUFBRSwrQ0FBK0MsZ0NBQWdDLG1CQUFtQix5QkFBeUIsRUFBRSwrSEFBK0gsMkJBQTJCLEVBQUUsZ0lBQWdJLHNCQUFzQixtQkFBbUIsRUFBRSwrRUFBK0UscUJBQXFCLEVBQUUseUNBQXlDLDBCQUEwQiwwQkFBMEIsdUJBQXVCLHFCQUFxQixFQUFFLHFFQUFxRSxzQkFBc0IsRUFBRSx1RUFBdUUsd0JBQXdCLHNCQUFzQixtQkFBbUIsRUFBRSwrRUFBK0UscUJBQXFCLEVBQUUsMkRBQTJELHlCQUF5QixFQUFFLGtFQUFrRSxzQkFBc0IsRUFBRSw4Q0FBOEMsMEJBQTBCLHVCQUF1QiwrQkFBK0IsK0JBQStCLG1CQUFtQiwwQkFBMEIsbUJBQW1CLGlCQUFpQixFQUFFLHNFQUFzRSx3QkFBd0IsMEJBQTBCLDBCQUEwQixFQUFFLDRFQUE0RSxrQ0FBa0MsRUFBRSwwRkFBMEYsa0JBQWtCLEVBQUUsb0VBQW9FLHVCQUF1QixvQkFBb0IsRUFBRSwwQ0FBMEMsNkNBQTZDLEVBQUUsb0RBQW9ELG9DQUFvQyw4Q0FBOEMsc0NBQXNDLEVBQUUsaUNBQWlDLDZCQUE2QixFQUFFLGtDQUFrQyx5QkFBeUIsdUJBQXVCLEVBQUUscURBQXFELHFDQUFxQyxxQ0FBcUMsMkNBQTJDLDJDQUEyQyxvREFBb0Qsb0RBQW9ELGtEQUFrRCxrREFBa0QsRUFBRSw2QkFBNkIsVUFBVSxzQ0FBc0Msc0NBQXNDLEVBQUUsUUFBUSx3Q0FBd0Msd0NBQXdDLEVBQUUsRUFBRSxxQkFBcUIsVUFBVSxzQ0FBc0Msc0NBQXNDLEVBQUUsUUFBUSx3Q0FBd0Msd0NBQXdDLEVBQUUsRUFBRSxxREFBcUQseUJBQXlCLHdCQUF3QixFQUFFLHFDQUFxQyx3Q0FBd0MsRUFBRSx3Q0FBd0MscUNBQXFDLEVBQUUseUVBQXlFLDZCQUE2QixFQUFFLDJGQUEyRiwrQkFBK0IsRUFBRSxtQ0FBbUMsMEJBQTBCLGlDQUFpQywwQkFBMEIsc0NBQXNDLHVCQUF1QixzQkFBc0Isa0RBQWtELDBCQUEwQix5QkFBeUIsdUJBQXVCLEVBQUUseUNBQXlDLGtCQUFrQixFQUFFLDBDQUEwQyx5QkFBeUIsRUFBRSxtQ0FBbUMsdUJBQXVCLHdCQUF3Qix1QkFBdUIsMEJBQTBCLEVBQUUsb0NBQW9DLG9CQUFvQixFQUFFLGdEQUFnRCxpREFBaUQsRUFBRSwrQ0FBK0MsMEJBQTBCLHVCQUF1QiwrQkFBK0IsK0JBQStCLG1CQUFtQixFQUFFLGlDQUFpQyxnQ0FBZ0MsaUNBQWlDLDJCQUEyQix5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLDRCQUE0QixvQkFBb0IsMkJBQTJCLEVBQUUsNkVBQTZFLGtDQUFrQyxvQkFBb0Isc0JBQXNCLCtCQUErQixzQkFBc0Isb0JBQW9CLDJCQUEyQixvQ0FBb0MsOEJBQThCLG9DQUFvQyx3Q0FBd0Msd0NBQXdDLHVDQUF1QyxFQUFFLDBFQUEwRSxvQ0FBb0MsNEJBQTRCLDRCQUE0QixpQ0FBaUMsRUFBRSx1REFBdUQseUNBQXlDLEVBQUUsa0VBQWtFLHdCQUF3QixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxvREFBb0QsdUJBQXVCLHdCQUF3QixFQUFFLHdDQUF3Qyx1QkFBdUIsd0JBQXdCLGlEQUFpRCw0QkFBNEIseUJBQXlCLEVBQUUsb0VBQW9FLGtDQUFrQyx5QkFBeUIsdUJBQXVCLHdCQUF3Qix5QkFBeUIsa0NBQWtDLEVBQUUseURBQXlELHdCQUF3QixFQUFFLG1DQUFtQywwREFBMEQsMERBQTBELEVBQUUsK0JBQStCLGdDQUFnQyxpQ0FBaUMsRUFBRSwrR0FBK0cscUJBQXFCLDZCQUE2QixFQUFFLHNEQUFzRCxrQ0FBa0MsdUJBQXVCLHFCQUFxQix3QkFBd0IseUJBQXlCLG9EQUFvRCwyQkFBMkIsMEJBQTBCLEVBQUUsdUdBQXVHLHVCQUF1QixzQkFBc0IsNkJBQTZCLEVBQUUsa0hBQWtILDhCQUE4Qiw0QkFBNEIsRUFBRSwyTkFBMk4sc0NBQXNDLEVBQUUsMEhBQTBILDhCQUE4QixFQUFFLDRFQUE0RSxxQkFBcUIsa0NBQWtDLHFCQUFxQixFQUFFLHFGQUFxRiwyQkFBMkIsRUFBRSxnQ0FBZ0MsZ0NBQWdDLGtCQUFrQix5QkFBeUIsbUJBQW1CLHdCQUF3QiwwQkFBMEIsNEJBQTRCLHFDQUFxQyw2QkFBNkIsRUFBRSxvREFBb0QsbUJBQW1CLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLDREQUE0RCxrQ0FBa0MsRUFBRSxtR0FBbUcsaUNBQWlDLEVBQUUsaUhBQWlILDhCQUE4QixFQUFFLGdJQUFnSSxrQkFBa0Isc0JBQXNCLEVBQUUsOElBQThJLHVCQUF1QixFQUFFLDZCQUE2QiwySEFBMkgsa0JBQWtCLHNCQUFzQixxQkFBcUIseUJBQXlCLDBCQUEwQiwyQkFBMkIsMkJBQTJCLHVGQUF1Rix5Q0FBeUMsRUFBRSxnREFBZ0QsMEJBQTBCLEVBQUUsMkNBQTJDLDBCQUEwQixFQUFFLHdDQUF3QywwQkFBMEIsRUFBRSwyQ0FBMkMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLGdKQUFnSiw2QkFBNkIsd0JBQXdCLHlCQUF5QixFQUFFLGlMQUFpTCx3QkFBd0IscUJBQXFCLEVBQUUsOENBQThDLHFCQUFxQixFQUFFLGlIQUFpSCw0QkFBNEIsRUFBRSwySEFBMkgsMEJBQTBCLEVBQUUsbUhBQW1ILDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsK0NBQStDLDBCQUEwQixFQUFFLHdFQUF3RSwwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLHdDQUF3QywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUseUNBQXlDLDBCQUEwQixFQUFFLDZDQUE2QywwQkFBMEIsRUFBRSw4Q0FBOEMsMEJBQTBCLEVBQUUsd0NBQXdDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsa0ZBQWtGLDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSxrREFBa0QsMEJBQTBCLEVBQUUseUNBQXlDLDBCQUEwQixFQUFFLGdGQUFnRiwwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSw2Q0FBNkMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsZ0RBQWdELDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSx3Q0FBd0MsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSw2Q0FBNkMsMEJBQTBCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLDZDQUE2QyxxQkFBcUIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsaUZBQWlGLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSwrQ0FBK0MsMEJBQTBCLEVBQUUsK0NBQStDLDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSw2Q0FBNkMsMEJBQTBCLEVBQUUseUNBQXlDLDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLDRCQUE0Qix3QkFBd0IsRUFBRSwrQ0FBK0MseUJBQXlCLEVBQUUsZ0dBQWdHLDBCQUEwQix1QkFBdUIsRUFBRSxnR0FBZ0csMEJBQTBCLEVBQUUsbUdBQW1HLDBCQUEwQiw0QkFBNEIsRUFBRSx5YkFBeWIseUJBQXlCLDBCQUEwQixFQUFFLGlIQUFpSCx1QkFBdUIsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQix3QkFBd0IsRUFBRSx1TUFBdU0sb0NBQW9DLG9DQUFvQyw2QkFBNkIsRUFBRSxrb0JBQWtvQiw2QkFBNkIsK0JBQStCLEVBQUUsbVNBQW1TLDZCQUE2QiwrQkFBK0IsRUFBRSxvREFBb0QsMkJBQTJCLDBCQUEwQixFQUFFLHlEQUF5RCw0QkFBNEIsRUFBRSxtSkFBbUosNEJBQTRCLDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSwyR0FBMkcsdUJBQXVCLDBCQUEwQixFQUFFLHVFQUF1RSx3Q0FBd0Msd0JBQXdCLEVBQUUsK0RBQStELHdDQUF3Qyx3QkFBd0IsRUFBRSwwRUFBMEUsdUJBQXVCLEVBQUUsMkNBQTJDLGlCQUFpQiw4VUFBOFUsRUFBRSxvQkFBb0IsRUFBRSxtQ0FBbUMsZ0NBQWdDLEVBQUUsOEJBQThCLG1CQUFtQixFQUFFLDhEQUE4RCxpQ0FBaUMsdUJBQXVCLEVBQUUseUVBQXlFLHFCQUFxQixFQUFFLGtEQUFrRCxtQkFBbUIsb0JBQW9CLEVBQUUsb0NBQW9DLHVDQUF1QyxFQUFFLDBDQUEwQyx1Q0FBdUMsRUFBRSw2QkFBNkIsaUNBQWlDLEVBQUUsMkNBQTJDLHVDQUF1QyxFQUFFLCtDQUErQyxzQkFBc0IsRUFBRSxzREFBc0QscUNBQXFDLDhCQUE4QiwrQkFBK0IsMENBQTBDLEVBQUUsOEVBQThFLGlDQUFpQyxFQUFFLG9EQUFvRCxnQ0FBZ0MsRUFBRSw2Q0FBNkMsd0JBQXdCLEVBQUUseUNBQXlDLDBCQUEwQiw2QkFBNkIsaUNBQWlDLHVCQUF1Qix1QkFBdUIsRUFBRSx1RUFBdUUsMkJBQTJCLHdCQUF3QixFQUFFLDZFQUE2RSxtQ0FBbUMsRUFBRSx1Q0FBdUMsaURBQWlELDBDQUEwQyxFQUFFLGlEQUFpRCxpQ0FBaUMseUJBQXlCLEVBQUUsNENBQTRDLG1CQUFtQixpQkFBaUIsRUFBRSx1SkFBdUosbUJBQW1CLEVBQUUsMkRBQTJELG1CQUFtQixFQUFFLDRCQUE0QixrQ0FBa0Msa0NBQWtDLEVBQUUsZ0RBQWdELHlCQUF5QixhQUFhLEVBQUUsMENBQTBDLHdDQUF3QyxFQUFFLGlFQUFpRSxtQkFBbUIsRUFBRSwyQ0FBMkMsZ0NBQWdDLEVBQUUsZ0RBQWdELGlEQUFpRCxFQUFFLCtDQUErQyw2QkFBNkIsaUNBQWlDLDBCQUEwQixtQkFBbUIsb0JBQW9CLEVBQUUsMkNBQTJDLG1CQUFtQixFQUFFLG9EQUFvRCxnQ0FBZ0Msa0JBQWtCLEVBQUUsNkRBQTZELHdDQUF3QyxFQUFFLEs7Ozs7Ozs7Ozs7O0FDQW53c0UscUNBQXFDLGNBQWMsbUNBQW1DLDJDQUEyQyxjQUFjLHdwUkFBd3BSLHdCQUF3Qix1QkFBdUIsRUFBRSxxQkFBcUIsd0NBQXdDLDRCQUE0QixpQkFBaUIsZ0RBQWdELHFCQUFxQixvQkFBb0IsbUJBQW1CLEVBQUUsdUNBQXVDLGdDQUFnQyxFQUFFLDhPQUE4TyxnQ0FBZ0MsaUNBQWlDLEVBQUUsNENBQTRDLG9DQUFvQyw2QkFBNkIsa0JBQWtCLHVCQUF1Qix1QkFBdUIsRUFBRSw0REFBNEQsZ0NBQWdDLGtEQUFrRCw2QkFBNkIsRUFBRSwyQkFBMkIsdUJBQXVCLEVBQUUsdUJBQXVCLHFDQUFxQyxxQ0FBcUMsRUFBRSxzRkFBc0Ysc0JBQXNCLHVDQUF1Qyx1Q0FBdUMsRUFBRSw2QkFBNkIsc0NBQXNDLHNDQUFzQyxFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSx1Q0FBdUMsNEJBQTRCLDZCQUE2QixFQUFFLGdGQUFnRixzQkFBc0IsRUFBRSw4RkFBOEYsa0JBQWtCLEVBQUUsZ0ZBQWdGLHVCQUF1QixFQUFFLDhCQUE4QixtREFBbUQsRUFBRSx1REFBdUQsd0JBQXdCLEVBQUUsc0NBQXNDLHNDQUFzQyxFQUFFLGlKQUFpSixzQ0FBc0MsRUFBRSw2SUFBNkksdUNBQXVDLEVBQUUsdURBQXVELHlCQUF5QixFQUFFLHNDQUFzQyxxQ0FBcUMsRUFBRSxpSkFBaUosc0NBQXNDLEVBQUUsNklBQTZJLHVDQUF1QyxFQUFFLDRDQUE0Qyx5QkFBeUIsRUFBRSwrQ0FBK0MsdUJBQXVCLEVBQUUsaURBQWlELHFCQUFxQixFQUFFLDRDQUE0QyxvQ0FBb0MseUJBQXlCLHdCQUF3Qix5QkFBeUIsOENBQThDLHNDQUFzQyxFQUFFLHNEQUFzRCw2QkFBNkIsZ0RBQWdELHdDQUF3QyxFQUFFLHVVQUF1VSx3QkFBd0IsMEJBQTBCLDRCQUE0QixFQUFFLDhYQUE4WCxrQ0FBa0Msa0NBQWtDLHlDQUF5QyxFQUFFLGlFQUFpRSwwQkFBMEIsNkJBQTZCLDZCQUE2QixFQUFFLHFEQUFxRCx3QkFBd0IsMEJBQTBCLDRCQUE0QixFQUFFLGdFQUFnRSxrQ0FBa0Msa0NBQWtDLHlDQUF5QyxFQUFFLGdDQUFnQyxvQ0FBb0Msb0dBQW9HLDBEQUEwRCxxQkFBcUIsdUJBQXVCLHNCQUFzQixrREFBa0Qsd0NBQXdDLEVBQUUsNkNBQTZDLHNDQUFzQyxFQUFFLDRDQUE0Qyx1Q0FBdUMsRUFBRSxvQ0FBb0MsbUJBQW1CLEVBQUUsNkJBQTZCLDBCQUEwQiw2QkFBNkIsc0JBQXNCLEVBQUUsa0RBQWtELDRCQUE0QixFQUFFLDJDQUEyQywrQkFBK0IsRUFBRSxpQ0FBaUMsZ0NBQWdDLEVBQUUsa0NBQWtDLDhCQUE4QixFQUFFLGdEQUFnRCx1Q0FBdUMsRUFBRSxxRUFBcUUsMkJBQTJCLEVBQUUsaURBQWlELHNDQUFzQyxFQUFFLHNFQUFzRSwwQkFBMEIsRUFBRSxtQ0FBbUMsNkJBQTZCLEVBQUUsc0NBQXNDLHdCQUF3QixFQUFFLDJEQUEyRCx1QkFBdUIsaUJBQWlCLEVBQUUsK0VBQStFLDBCQUEwQiw2QkFBNkIseUJBQXlCLDBCQUEwQixzQkFBc0IsRUFBRSwrSEFBK0gsa0NBQWtDLEVBQUUsMkpBQTJKLDhCQUE4QixFQUFFLGtJQUFrSSwwQkFBMEIsRUFBRSw0Q0FBNEMseUJBQXlCLEVBQUUsMkNBQTJDLHlCQUF5QixFQUFFLDhCQUE4Qix3QkFBd0IseUJBQXlCLDBCQUEwQixvQ0FBb0MseUJBQXlCLDBCQUEwQixFQUFFLGtDQUFrQyxtQkFBbUIsMkJBQTJCLG1CQUFtQixzQkFBc0IsRUFBRSxxRkFBcUYsbUJBQW1CLEVBQUUscUNBQXFDLG1CQUFtQiwyQkFBMkIsbUJBQW1CLEVBQUUsc0NBQXNDLG1CQUFtQixFQUFFLG9nQkFBb2dCLDhCQUE4Qix1QkFBdUIsRUFBRSw0Q0FBNEMsaUJBQWlCLEVBQUUsOEJBQThCLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsaUJBQWlCLEVBQUUsOENBQThDLHdCQUF3QiwyQkFBMkIsd0JBQXdCLG9CQUFvQixFQUFFLHVEQUF1RCwrQkFBK0IsRUFBRSx5REFBeUQscUJBQXFCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsMkJBQTJCLHdCQUF3QixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSxtREFBbUQsb0JBQW9CLEVBQUUsNERBQTRELHFTQUFxUyxFQUFFLDhEQUE4RCxvQkFBb0IsMkJBQTJCLEVBQUUsa0NBQWtDLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsaUNBQWlDLHFCQUFxQix1QkFBdUIsc0JBQXNCLGtEQUFrRCw4QkFBOEIsd0JBQXdCLGdCQUFnQixxQkFBcUIseUNBQXlDLHlDQUF5QyxFQUFFLGdGQUFnRixxQkFBcUIsa0JBQWtCLG1CQUFtQixFQUFFLHVEQUF1RCwwQkFBMEIsbUJBQW1CLEVBQUUsb0NBQW9DLDBCQUEwQix1QkFBdUIsa0JBQWtCLDJCQUEyQiwyQkFBMkIsb0JBQW9CLEVBQUUsOENBQThDLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLDZDQUE2QyxxQkFBcUIsNEJBQTRCLDJCQUEyQiwyQkFBMkIsa0NBQWtDLG1DQUFtQyxvQ0FBb0MsaUNBQWlDLGtDQUFrQyx3Q0FBd0MsRUFBRSxrQ0FBa0MscUJBQXFCLEVBQUUsa0RBQWtELHlCQUF5QixzQkFBc0IsRUFBRSw2RUFBNkUseUJBQXlCLEVBQUUsNEVBQTRFLDRCQUE0QixFQUFFLHFHQUFxRyxtQ0FBbUMsRUFBRSw4RkFBOEYseUJBQXlCLEVBQUUsZ0RBQWdELG9CQUFvQixFQUFFLGtEQUFrRCx1QkFBdUIsd0JBQXdCLEVBQUUsa0RBQWtELGtCQUFrQixFQUFFLHNEQUFzRCwwQkFBMEIsa0JBQWtCLG1CQUFtQiwwQkFBMEIsRUFBRSx5R0FBeUcsd0JBQXdCLEVBQUUsb0RBQW9ELG9CQUFvQixFQUFFLG9EQUFvRCxtQkFBbUIsMkJBQTJCLDJCQUEyQixvQkFBb0IsZ0NBQWdDLGlDQUFpQyxrQ0FBa0MsRUFBRSxtSEFBbUgseUJBQXlCLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLEVBQUUseUVBQXlFLHdDQUF3QyxFQUFFLHVEQUF1RCwyQkFBMkIsMkJBQTJCLG9CQUFvQiw0QkFBNEIsNkJBQTZCLHdDQUF3QyxtQkFBbUIsdUJBQXVCLEVBQUUsZ0VBQWdFLHlCQUF5QixFQUFFLHlFQUF5RSx5QkFBeUIsRUFBRSx5SkFBeUosbUJBQW1CLEVBQUUsK25CQUErbkIseUJBQXlCLDBCQUEwQixFQUFFLHlFQUF5RSxxQ0FBcUMsdUJBQXVCLEVBQUUsaUZBQWlGLHdCQUF3QixFQUFFLHdHQUF3Ryx3QkFBd0IsRUFBRSxtREFBbUQscUNBQXFDLG1CQUFtQixnQ0FBZ0MsaUNBQWlDLGtDQUFrQyxFQUFFLDJEQUEyRCx3QkFBd0Isc0JBQXNCLEVBQUUscUVBQXFFLHlCQUF5QiwwQkFBMEIsRUFBRSw0Q0FBNEMsc0JBQXNCLEVBQUUsK0RBQStELG9CQUFvQixFQUFFLCtGQUErRix5QkFBeUIsMkJBQTJCLDhCQUE4Qiw2QkFBNkIsNkJBQTZCLHVDQUF1Qyx3Q0FBd0MseUNBQXlDLHlDQUF5QyxnQ0FBZ0MsZ0NBQWdDLCtCQUErQiwrQkFBK0Isd0JBQXdCLHVDQUF1Qyx1Q0FBdUMsRUFBRSw2SEFBNkgsNkJBQTZCLEVBQUUscUlBQXFJLDZCQUE2QixFQUFFLHlGQUF5RiwyQkFBMkIsRUFBRSxnRkFBZ0YscUNBQXFDLHlCQUF5QiwwQkFBMEIseUJBQXlCLEVBQUUsbUVBQW1FLHFCQUFxQiw2QkFBNkIsNkJBQTZCLHNCQUFzQiw0QkFBNEIsMkJBQTJCLDJCQUEyQixFQUFFLDJGQUEyRiwrQkFBK0IsK0JBQStCLHdCQUF3QixvQ0FBb0MscUNBQXFDLHNDQUFzQywyQkFBMkIsRUFBRSxzRUFBc0UsMENBQTBDLDRCQUE0Qix1QkFBdUIsRUFBRSw4REFBOEQsMENBQTBDLHVCQUF1Qiw0QkFBNEIsRUFBRSw4RkFBOEYsb0NBQW9DLDJCQUEyQiwwQkFBMEIsc0RBQXNELDZCQUE2Qiw2QkFBNkIsMEJBQTBCLEVBQUUscUZBQXFGLDBCQUEwQiwwQkFBMEIsRUFBRSxxRkFBcUYsNEJBQTRCLDZCQUE2QixFQUFFLDJFQUEyRSwyQkFBMkIsRUFBRSw4RUFBOEUscUJBQXFCLHdCQUF3QixFQUFFLHNDQUFzQyxxQ0FBcUMscUJBQXFCLG1CQUFtQixzQkFBc0IsRUFBRSwrQ0FBK0MsMEJBQTBCLEVBQUUsNERBQTRELGtCQUFrQixtQkFBbUIsc0JBQXNCLEVBQUUsMEVBQTBFLGtDQUFrQyxxQkFBcUIsRUFBRSxxRUFBcUUsb0JBQW9CLHFCQUFxQixtQkFBbUIsRUFBRSx3REFBd0Qsb0JBQW9CLEVBQUUsc0NBQXNDLGdDQUFnQyxFQUFFLHNMQUFzTCxvQ0FBb0MsRUFBRSw0TkFBNE4sZ0NBQWdDLEVBQUUsZ09BQWdPLGtDQUFrQyxFQUFFLGtPQUFrTyxtQ0FBbUMsRUFBRSw4TkFBOE4saUNBQWlDLEVBQUUsaUVBQWlFLGlEQUFpRCxFQUFFLHVGQUF1RixtREFBbUQsRUFBRSxvSEFBb0gsbURBQW1ELEVBQUUsbUVBQW1FLGlEQUFpRCxFQUFFLG1FQUFtRSw4Q0FBOEMsRUFBRSxtRUFBbUUsOENBQThDLEVBQUUsbUVBQW1FLDJDQUEyQyxFQUFFLG9HQUFvRyxtQ0FBbUMsRUFBRSxvS0FBb0ssdUNBQXVDLEVBQUUsd0dBQXdHLHFDQUFxQyxFQUFFLHdLQUF3Syx5Q0FBeUMsRUFBRSwwR0FBMEcsc0NBQXNDLEVBQUUsMEtBQTBLLDBDQUEwQyxFQUFFLHNHQUFzRyxvQ0FBb0MsRUFBRSxzS0FBc0ssd0NBQXdDLEVBQUUsdUVBQXVFLHlCQUF5QixpQkFBaUIsa0JBQWtCLG1CQUFtQixrQkFBa0IsOEJBQThCLEVBQUUscUNBQXFDLG1CQUFtQixFQUFFLHNDQUFzQywwQkFBMEIsRUFBRSw2Q0FBNkMsb0JBQW9CLG1CQUFtQixFQUFFLCtFQUErRSwwQkFBMEIsdUJBQXVCLCtCQUErQiwrQkFBK0IsbUJBQW1CLEVBQUUsc0NBQXNDLGlCQUFpQixFQUFFLG9FQUFvRSxxQkFBcUIsc0JBQXNCLEVBQUUsMERBQTBELG1CQUFtQixzQkFBc0IsRUFBRSwyREFBMkQsNEJBQTRCLG1CQUFtQixFQUFFLDJEQUEyRCxzQkFBc0IsbUJBQW1CLEVBQUUsbUVBQW1FLCtCQUErQixFQUFFLHlEQUF5RCx5QkFBeUIsRUFBRSxrRUFBa0UsZ0NBQWdDLEVBQUUsd0RBQXdELHdCQUF3QixFQUFFLHVEQUF1RCwrQkFBK0IsK0JBQStCLCtCQUErQiw4QkFBOEIsZ0JBQWdCLG1CQUFtQixpQkFBaUIsa0JBQWtCLEVBQUUsb3JCQUFvckIsd0JBQXdCLEVBQUUsMFRBQTBULHdCQUF3QixFQUFFLDJDQUEyQyx1QkFBdUIsRUFBRSxpREFBaUQseUJBQXlCLEVBQUUsZ0RBQWdELGdDQUFnQyxtQkFBbUIseUJBQXlCLEVBQUUsaUlBQWlJLDJCQUEyQixFQUFFLGtJQUFrSSxzQkFBc0IsbUJBQW1CLEVBQUUsZ0ZBQWdGLHFCQUFxQixFQUFFLDBDQUEwQywwQkFBMEIsMEJBQTBCLHVCQUF1QixxQkFBcUIsRUFBRSxzRUFBc0Usc0JBQXNCLEVBQUUsd0VBQXdFLHdCQUF3QixzQkFBc0IsbUJBQW1CLEVBQUUsZ0ZBQWdGLHFCQUFxQixFQUFFLDREQUE0RCx5QkFBeUIsRUFBRSxtRUFBbUUsc0JBQXNCLEVBQUUsK0NBQStDLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsd0JBQXdCLG1CQUFtQixpQkFBaUIsRUFBRSx1RUFBdUUsd0JBQXdCLDBCQUEwQiwwQkFBMEIsRUFBRSw2RUFBNkUsa0NBQWtDLEVBQUUsNEZBQTRGLGtCQUFrQixFQUFFLHFFQUFxRSx1QkFBdUIsb0JBQW9CLEVBQUUsMkNBQTJDLHdDQUF3QyxFQUFFLHFEQUFxRCxvQ0FBb0MsOENBQThDLHNDQUFzQyxFQUFFLGtDQUFrQyxnQ0FBZ0MsRUFBRSxtQ0FBbUMseUJBQXlCLHVCQUF1QixFQUFFLHNEQUFzRCxxQ0FBcUMscUNBQXFDLDJDQUEyQywyQ0FBMkMsb0RBQW9ELG9EQUFvRCxrREFBa0Qsa0RBQWtELEVBQUUsNkJBQTZCLFVBQVUsc0NBQXNDLHNDQUFzQyxFQUFFLFFBQVEsd0NBQXdDLHdDQUF3QyxFQUFFLEVBQUUscUJBQXFCLFVBQVUsc0NBQXNDLHNDQUFzQyxFQUFFLFFBQVEsd0NBQXdDLHdDQUF3QyxFQUFFLEVBQUUsc0RBQXNELHlCQUF5Qix3QkFBd0IsRUFBRSxzQ0FBc0Msd0NBQXdDLEVBQUUseUNBQXlDLHFDQUFxQyxFQUFFLDJFQUEyRSxnQ0FBZ0MsRUFBRSw2RkFBNkYsa0NBQWtDLEVBQUUsb0NBQW9DLHdCQUF3QixpQ0FBaUMsMEJBQTBCLGdDQUFnQyx1QkFBdUIsc0JBQXNCLGtEQUFrRCwwQkFBMEIseUJBQXlCLHVCQUF1QixFQUFFLDBDQUEwQyxtQkFBbUIsRUFBRSwyQ0FBMkMseUJBQXlCLEVBQUUsb0NBQW9DLHVCQUF1Qix3QkFBd0IsdUJBQXVCLDBCQUEwQixFQUFFLHFDQUFxQyxvQkFBb0IsRUFBRSxpREFBaUQsaURBQWlELEVBQUUsZ0RBQWdELDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsRUFBRSxrQ0FBa0MsZ0NBQWdDLGlDQUFpQywyQkFBMkIseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQiwwQkFBMEIsb0JBQW9CLDJCQUEyQixFQUFFLDhFQUE4RSxrQ0FBa0Msb0JBQW9CLHVCQUF1QiwrQkFBK0Isc0JBQXNCLG9CQUFvQiwyQkFBMkIsb0NBQW9DLDhCQUE4QixvQ0FBb0Msd0NBQXdDLHdDQUF3Qyx1Q0FBdUMsRUFBRSwyRUFBMkUsb0NBQW9DLDRCQUE0Qiw0QkFBNEIsaUNBQWlDLEVBQUUsd0RBQXdELHlDQUF5QyxFQUFFLG1FQUFtRSx3QkFBd0IsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUscURBQXFELHVCQUF1Qix3QkFBd0IsRUFBRSx5Q0FBeUMsdUJBQXVCLHdCQUF3QixpREFBaUQsNEJBQTRCLHlCQUF5QixFQUFFLHFFQUFxRSxnQ0FBZ0MseUJBQXlCLHVCQUF1Qix3QkFBd0IseUJBQXlCLGtDQUFrQyxFQUFFLDBEQUEwRCx3QkFBd0IsRUFBRSxvQ0FBb0MsMERBQTBELDBEQUEwRCxFQUFFLGdDQUFnQyw4QkFBOEIsaUNBQWlDLEVBQUUsaUhBQWlILHFCQUFxQiw2QkFBNkIsRUFBRSx1REFBdUQsc0NBQXNDLHVCQUF1QixxQkFBcUIsd0JBQXdCLHlCQUF5QixvREFBb0QsMkJBQTJCLDBCQUEwQixFQUFFLHdHQUF3Ryx1QkFBdUIsc0JBQXNCLDZCQUE2QixFQUFFLG1IQUFtSCw4QkFBOEIsNEJBQTRCLEVBQUUsNk5BQTZOLCtDQUErQyxFQUFFLDJIQUEySCw4QkFBOEIsRUFBRSw2RUFBNkUscUJBQXFCLHNDQUFzQyxxQkFBcUIsRUFBRSxzRkFBc0YsMkJBQTJCLEVBQUUsaUNBQWlDLGdDQUFnQyxtQkFBbUIseUJBQXlCLG1CQUFtQix3QkFBd0IsMEJBQTBCLDRCQUE0QixxQ0FBcUMsNkJBQTZCLEVBQUUscURBQXFELG1CQUFtQixFQUFFLDhDQUE4Qyx3QkFBd0IsRUFBRSw2REFBNkQsa0NBQWtDLEVBQUUsb0dBQW9HLGlDQUFpQyxFQUFFLGtIQUFrSCw0QkFBNEIsRUFBRSxpSUFBaUksbUJBQW1CLHNCQUFzQixFQUFFLCtJQUErSSxxQkFBcUIsRUFBRSw4QkFBOEIsMkhBQTJILGtCQUFrQixzQkFBc0Isa0JBQWtCLHlCQUF5QiwwQkFBMEIsMkJBQTJCLDJCQUEyQix1RkFBdUYseUNBQXlDLEVBQUUsaURBQWlELDBCQUEwQixFQUFFLDRDQUE0QywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsNENBQTRDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSxtSkFBbUosNkJBQTZCLHdCQUF3Qix5QkFBeUIsRUFBRSxvTEFBb0wsd0JBQXdCLHFCQUFxQixFQUFFLCtDQUErQyxtQkFBbUIsRUFBRSxtSEFBbUgsNEJBQTRCLEVBQUUsNkhBQTZILDBCQUEwQixFQUFFLHFIQUFxSCwwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSx5RUFBeUUsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSw4Q0FBOEMsMEJBQTBCLEVBQUUsK0NBQStDLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsMkNBQTJDLDBCQUEwQixFQUFFLG9GQUFvRiwwQkFBMEIsRUFBRSwyQ0FBMkMsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSxrRkFBa0YsMEJBQTBCLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLDhDQUE4QywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLGlEQUFpRCwwQkFBMEIsRUFBRSwyQ0FBMkMsMEJBQTBCLEVBQUUseUNBQXlDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSw4Q0FBOEMsbUJBQW1CLEVBQUUsdURBQXVELDRCQUE0QixFQUFFLG1GQUFtRiwwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsZ0RBQWdELDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSxpREFBaUQsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSxpREFBaUQsMEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLCtDQUErQywwQkFBMEIsRUFBRSw2QkFBNkIsd0JBQXdCLEVBQUUsZ0RBQWdELHlCQUF5QixFQUFFLGtHQUFrRywwQkFBMEIsdUJBQXVCLEVBQUUsaUdBQWlHLDBCQUEwQixFQUFFLG9HQUFvRywwQkFBMEIsNEJBQTRCLEVBQUUsNmJBQTZiLHlCQUF5QiwwQkFBMEIsRUFBRSxrSEFBa0gsdUJBQXVCLDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsd0JBQXdCLEVBQUUsMk1BQTJNLG9DQUFvQyxvQ0FBb0MsNkJBQTZCLEVBQUUsMG9CQUEwb0IsNkJBQTZCLCtCQUErQixFQUFFLHVTQUF1Uyw2QkFBNkIsK0JBQStCLEVBQUUscURBQXFELDJCQUEyQiwwQkFBMEIsRUFBRSwwREFBMEQsNEJBQTRCLEVBQUUscUpBQXFKLDRCQUE0QiwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsNkdBQTZHLHVCQUF1QiwwQkFBMEIsRUFBRSx3RUFBd0Usd0NBQXdDLHdCQUF3QixFQUFFLGdFQUFnRSx3Q0FBd0Msd0JBQXdCLEVBQUUsMkVBQTJFLHVCQUF1QixFQUFFLDRDQUE0QyxpQkFBaUIsOFVBQThVLEVBQUUsb0JBQW9CLEVBQUUsb0NBQW9DLGdDQUFnQyxFQUFFLCtCQUErQixtQkFBbUIsRUFBRSwrREFBK0QsaUNBQWlDLHVCQUF1QixFQUFFLDBFQUEwRSxxQkFBcUIsRUFBRSxtREFBbUQsbUJBQW1CLG9CQUFvQixFQUFFLHFDQUFxQyx1Q0FBdUMsRUFBRSwyQ0FBMkMsdUNBQXVDLEVBQUUsOEJBQThCLGlDQUFpQyxFQUFFLDRDQUE0Qyx1Q0FBdUMsRUFBRSxnREFBZ0Qsc0JBQXNCLEVBQUUsdURBQXVELHFDQUFxQyw4QkFBOEIsK0JBQStCLDBDQUEwQyxFQUFFLCtFQUErRSxpQ0FBaUMsRUFBRSxxREFBcUQsZ0NBQWdDLEVBQUUsOENBQThDLHdCQUF3QixFQUFFLDBDQUEwQywwQkFBMEIsb0dBQW9HLDBEQUEwRCxpQ0FBaUMsdUJBQXVCLHVCQUF1QixFQUFFLHdFQUF3RSwyQkFBMkIsd0JBQXdCLEVBQUUsOEVBQThFLG1DQUFtQyxFQUFFLHdDQUF3QyxpREFBaUQseUNBQXlDLEVBQUUsa0RBQWtELGlDQUFpQyx5QkFBeUIsRUFBRSw2Q0FBNkMsbUJBQW1CLGlCQUFpQixFQUFFLHlKQUF5SixtQkFBbUIsRUFBRSw0REFBNEQsbUJBQW1CLEVBQUUsNkJBQTZCLGtDQUFrQyxrQ0FBa0MsRUFBRSxpREFBaUQseUJBQXlCLGFBQWEsRUFBRSwyQ0FBMkMsd0NBQXdDLEVBQUUsa0VBQWtFLG1CQUFtQixFQUFFLDRDQUE0QyxnQ0FBZ0MsRUFBRSxpREFBaUQsaURBQWlELEVBQUUsZ0RBQWdELDZCQUE2QixpQ0FBaUMsMEJBQTBCLG1CQUFtQixvQkFBb0IsRUFBRSw0Q0FBNEMsbUJBQW1CLEVBQUUsSzs7Ozs7Ozs7Ozs7QUNBLzB0RSxxQ0FBcUMsY0FBYyxvQ0FBb0MsMkNBQTJDLGNBQWMsNDZPQUE0Nk8sd0JBQXdCLHVCQUF1QixFQUFFLHdCQUF3Qix3Q0FBd0MsMkJBQTJCLCtCQUErQix3Q0FBd0MscUJBQXFCLG9CQUFvQixtQkFBbUIsRUFBRSwrREFBK0QsdUNBQXVDLEVBQUUsOEJBQThCLHVCQUF1QixFQUFFLDBCQUEwQixxQ0FBcUMscUNBQXFDLEVBQUUsK0ZBQStGLHNCQUFzQix1Q0FBdUMsdUNBQXVDLEVBQUUsZ0NBQWdDLHNDQUFzQyxzQ0FBc0MsRUFBRSx1REFBdUQseUJBQXlCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCx5QkFBeUIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELHlCQUF5QixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQseUJBQXlCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCx5QkFBeUIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFB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ZTs7QUFFZjtBQUNBLGtDQUFrQzs7QUFFbEMsYUFBYSxtQkFBTyxDQUFDLHNHQUFtRDs7QUFFeEU7O0FBRUEsR0FBRyxLQUFVLEVBQUUsRSIsImZpbGUiOiJiYmotZ3JpZC13aWRnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQmFzaXNcIl0gPSByb290W1wiQmFzaXNcIl0gfHwge30sIHJvb3RbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/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/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuNScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIHx8IChnbG9iYWxbbmFtZV0gPSB7fSkgOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/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/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbi8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbnZhciByZU5vTWF0Y2ggPSAvKCReKS87XG5cbi8qKiBVc2VkIHRvIG1hdGNoIHVuZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24gdGhhdCBjYW4gaW50ZXJwb2xhdGUgZGF0YSBwcm9wZXJ0aWVzXG4gKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICogXCJlc2NhcGVcIiBkZWxpbWl0ZXJzLCBhbmQgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLiBEYXRhXG4gKiBwcm9wZXJ0aWVzIG1heSBiZSBhY2Nlc3NlZCBhcyBmcmVlIHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuIElmIGEgc2V0dGluZ1xuICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICpcbiAqICoqTm90ZToqKiBJbiB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYF8udGVtcGxhdGVgIHV0aWxpemVzXG4gKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAqIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gKiBbbG9kYXNoJ3MgY3VzdG9tIGJ1aWxkcyBkb2N1bWVudGF0aW9uXShodHRwczovL2xvZGFzaC5jb20vY3VzdG9tLWJ1aWxkcykuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gKiBbQ2hyb21lJ3MgZXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2V4dGVuc2lvbnMvc2FuZGJveGluZ0V2YWwpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgdGVtcGxhdGUgc3RyaW5nLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gKiAgVGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXZhbHVhdGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmV2YWx1YXRlXVxuICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmltcG9ydHM9Xy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNdXG4gKiAgQW4gb2JqZWN0IHRvIGltcG9ydCBpbnRvIHRoZSB0ZW1wbGF0ZSBhcyBmcmVlIHZhcmlhYmxlcy5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gKiAgVGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuc291cmNlVVJMPSd0ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICogIFRoZSBzb3VyY2VVUkwgb2YgdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnZhcmlhYmxlPSdvYmonXVxuICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlciB0byBjcmVhdGUgYSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdmcmVkJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBmcmVkISdcbiAqXG4gKiAvLyBVc2UgdGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIgdG8gZXNjYXBlIGRhdGEgcHJvcGVydHkgdmFsdWVzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPGI+PCUtIHZhbHVlICU+PC9iPicpO1xuICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICogLy8gPT4gJzxiPiZsdDtzY3JpcHQmZ3Q7PC9iPidcbiAqXG4gKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgXy5mb3JFYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBpbnRlcm5hbCBgcHJpbnRgIGZ1bmN0aW9uIGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnYmFybmV5JyB9KTtcbiAqIC8vID0+ICdoZWxsbyBiYXJuZXkhJ1xuICpcbiAqIC8vIFVzZSB0aGUgRVMgdGVtcGxhdGUgbGl0ZXJhbCBkZWxpbWl0ZXIgYXMgYW4gXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIC8vIERpc2FibGUgc3VwcG9ydCBieSByZXBsYWNpbmcgdGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ3BlYmJsZXMnIH0pO1xuICogLy8gPT4gJ2hlbGxvIHBlYmJsZXMhJ1xuICpcbiAqIC8vIFVzZSBiYWNrc2xhc2hlcyB0byB0cmVhdCBkZWxpbWl0ZXJzIGFzIHBsYWluIHRleHQuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JT0gXCJcXFxcPCUtIHZhbHVlICVcXFxcPlwiICU+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAqIC8vID0+ICc8JS0gdmFsdWUgJT4nXG4gKlxuICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICogdmFyIHRleHQgPSAnPCUganEuZWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+JztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUodGV4dCwgeyAnaW1wb3J0cyc6IHsgJ2pxJzogalF1ZXJ5IH0gfSk7XG4gKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAqIC8vID0+ICc8bGk+ZnJlZDwvbGk+PGxpPmJhcm5leTwvbGk+J1xuICpcbiAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyA8JT0gdXNlciAlPiEnLCB7ICdzb3VyY2VVUkwnOiAnL2Jhc2ljL2dyZWV0aW5nLmpzdCcgfSk7XG4gKiBjb21waWxlZChkYXRhKTtcbiAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gKlxuICogLy8gVXNlIHRoZSBgdmFyaWFibGVgIG9wdGlvbiB0byBlbnN1cmUgYSB3aXRoLXN0YXRlbWVudCBpc24ndCB1c2VkIGluIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gKiBjb21waWxlZC5zb3VyY2U7XG4gKiAvLyA9PiBmdW5jdGlvbihkYXRhKSB7XG4gKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICogLy8gICBfX3AgKz0gJ2hpICcgKyAoKF9fdCA9ICggZGF0YS51c2VyICkpID09IG51bGwgPyAnJyA6IF9fdCkgKyAnISc7XG4gKiAvLyAgIHJldHVybiBfX3A7XG4gKiAvLyB9XG4gKlxuICogLy8gVXNlIGN1c3RvbSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLlxuICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIHt7IHVzZXIgfX0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ211c3RhY2hlJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlYCBwcm9wZXJ0eSB0byBpbmxpbmUgY29tcGlsZWQgdGVtcGxhdGVzIGZvciBtZWFuaW5nZnVsXG4gKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAqIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdqc3QuanMnKSwgJ1xcXG4gKiAgIHZhciBKU1QgPSB7XFxcbiAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICogICB9O1xcXG4gKiAnKTtcbiAqL1xuZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkge1xuICAvLyBCYXNlZCBvbiBKb2huIFJlc2lnJ3MgYHRtcGxgIGltcGxlbWVudGF0aW9uXG4gIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgLy8gYW5kIExhdXJhIERva3Rvcm92YSdzIGRvVC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL29sYWRvL2RvVCkuXG4gIHZhciBzZXR0aW5ncyA9IHRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0cy5fLnRlbXBsYXRlU2V0dGluZ3MgfHwgdGVtcGxhdGVTZXR0aW5ncztcblxuICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkpIHtcbiAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICB9XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICB2YXIgaW1wb3J0cyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucy5pbXBvcnRzLCBzZXR0aW5ncy5pbXBvcnRzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKSxcbiAgICAgIGltcG9ydHNLZXlzID0ga2V5cyhpbXBvcnRzKSxcbiAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICB2YXIgaXNFc2NhcGluZyxcbiAgICAgIGlzRXZhbHVhdGluZyxcbiAgICAgIGluZGV4ID0gMCxcbiAgICAgIGludGVycG9sYXRlID0gb3B0aW9ucy5pbnRlcnBvbGF0ZSB8fCByZU5vTWF0Y2gsXG4gICAgICBzb3VyY2UgPSBcIl9fcCArPSAnXCI7XG5cbiAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICB2YXIgcmVEZWxpbWl0ZXJzID0gUmVnRXhwKFxuICAgIChvcHRpb25zLmVzY2FwZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAoaW50ZXJwb2xhdGUgPT09IHJlSW50ZXJwb2xhdGUgPyByZUVzVGVtcGxhdGUgOiByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgKG9wdGlvbnMuZXZhbHVhdGUgfHwgcmVOb01hdGNoKS5zb3VyY2UgKyAnfCQnXG4gICwgJ2cnKTtcblxuICAvLyBVc2UgYSBzb3VyY2VVUkwgZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gIHZhciBzb3VyY2VVUkwgPSAnc291cmNlVVJMJyBpbiBvcHRpb25zID8gJy8vIyBzb3VyY2VVUkw9JyArIG9wdGlvbnMuc291cmNlVVJMICsgJ1xcbicgOiAnJztcblxuICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICBpbnRlcnBvbGF0ZVZhbHVlIHx8IChpbnRlcnBvbGF0ZVZhbHVlID0gZXNUZW1wbGF0ZVZhbHVlKTtcblxuICAgIC8vIEVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAvLyBSZXBsYWNlIGRlbGltaXRlcnMgd2l0aCBzbmlwcGV0cy5cbiAgICBpZiAoZXNjYXBlVmFsdWUpIHtcbiAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgc291cmNlICs9IFwiJyArXFxuX19lKFwiICsgZXNjYXBlVmFsdWUgKyBcIikgK1xcbidcIjtcbiAgICB9XG4gICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgIGlzRXZhbHVhdGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInO1xcblwiICsgZXZhbHVhdGVWYWx1ZSArIFwiO1xcbl9fcCArPSAnXCI7XG4gICAgfVxuICAgIGlmIChpbnRlcnBvbGF0ZVZhbHVlKSB7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG4oKF9fdCA9IChcIiArIGludGVycG9sYXRlVmFsdWUgKyBcIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xcbidcIjtcbiAgICB9XG4gICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAvLyBUaGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIHByb2R1Y3RzIG5lZWRzIGBtYXRjaGAgcmV0dXJuZWQgaW5cbiAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgIHJldHVybiBtYXRjaDtcbiAgfSk7XG5cbiAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAvLyBJZiBgdmFyaWFibGVgIGlzIG5vdCBzcGVjaWZpZWQgd3JhcCBhIHdpdGgtc3RhdGVtZW50IGFyb3VuZCB0aGUgZ2VuZXJhdGVkXG4gIC8vIGNvZGUgdG8gYWRkIHRoZSBkYXRhIG9iamVjdCB0byB0aGUgdG9wIG9mIHRoZSBzY29wZSBjaGFpbi5cbiAgdmFyIHZhcmlhYmxlID0gb3B0aW9ucy52YXJpYWJsZTtcbiAgaWYgKCF2YXJpYWJsZSkge1xuICAgIHNvdXJjZSA9ICd3aXRoIChvYmopIHtcXG4nICsgc291cmNlICsgJ1xcbn1cXG4nO1xuICB9XG4gIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgc291cmNlID0gKGlzRXZhbHVhdGluZyA/IHNvdXJjZS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdMZWFkaW5nLCAnJykgOiBzb3VyY2UpXG4gICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ01pZGRsZSwgJyQxJylcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAvLyBGcmFtZSBjb2RlIGFzIHRoZSBmdW5jdGlvbiBib2R5LlxuICBzb3VyY2UgPSAnZnVuY3Rpb24oJyArICh2YXJpYWJsZSB8fCAnb2JqJykgKyAnKSB7XFxuJyArXG4gICAgKHZhcmlhYmxlXG4gICAgICA/ICcnXG4gICAgICA6ICdvYmogfHwgKG9iaiA9IHt9KTtcXG4nXG4gICAgKSArXG4gICAgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICtcbiAgICAoaXNFc2NhcGluZ1xuICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgOiAnJ1xuICAgICkgK1xuICAgIChpc0V2YWx1YXRpbmdcbiAgICAgID8gJywgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XFxuJyArXG4gICAgICAgIFwiZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XFxuXCJcbiAgICAgIDogJztcXG4nXG4gICAgKSArXG4gICAgc291cmNlICtcbiAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gIHZhciByZXN1bHQgPSBhdHRlbXB0KGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBGdW5jdGlvbihpbXBvcnRzS2V5cywgc291cmNlVVJMICsgJ3JldHVybiAnICsgc291cmNlKVxuICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gIH0pO1xuXG4gIC8vIFByb3ZpZGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uJ3Mgc291cmNlIGJ5IGl0cyBgdG9TdHJpbmdgIG1ldGhvZCBvclxuICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICByZXN1bHQuc291cmNlID0gc291cmNlO1xuICBpZiAoaXNFcnJvcihyZXN1bHQpKSB7XG4gICAgdGhyb3cgcmVzdWx0O1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGU7XG4iLCJ2YXIgZXNjYXBlID0gcmVxdWlyZSgnLi9lc2NhcGUnKSxcbiAgICByZUVzY2FwZSA9IHJlcXVpcmUoJy4vX3JlRXNjYXBlJyksXG4gICAgcmVFdmFsdWF0ZSA9IHJlcXVpcmUoJy4vX3JlRXZhbHVhdGUnKSxcbiAgICByZUludGVycG9sYXRlID0gcmVxdWlyZSgnLi9fcmVJbnRlcnBvbGF0ZScpO1xuXG4vKipcbiAqIEJ5IGRlZmF1bHQsIHRoZSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzIHVzZWQgYnkgbG9kYXNoIGFyZSBsaWtlIHRob3NlIGluXG4gKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAqIGZvbGxvd2luZyB0ZW1wbGF0ZSBzZXR0aW5ncyB0byB1c2UgYWx0ZXJuYXRpdmUgZGVsaW1pdGVycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHR5cGUge09iamVjdH1cbiAqL1xudmFyIHRlbXBsYXRlU2V0dGluZ3MgPSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXNjYXBlJzogcmVFc2NhcGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGNvZGUgdG8gYmUgZXZhbHVhdGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGluamVjdC5cbiAgICpcbiAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgKi9cbiAgJ2ludGVycG9sYXRlJzogcmVJbnRlcnBvbGF0ZSxcblxuICAvKipcbiAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICAndmFyaWFibGUnOiAnJyxcblxuICAvKipcbiAgICogVXNlZCB0byBpbXBvcnQgdmFyaWFibGVzIGludG8gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICAnaW1wb3J0cyc6IHtcblxuICAgIC8qKlxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c1xuICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgKi9cbiAgICAnXyc6IHsgJ2VzY2FwZSc6IGVzY2FwZSB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGVTZXR0aW5ncztcbiIsInZhciBiYXNlVG9TdHJpbmcgPSByZXF1aXJlKCcuL19iYXNlVG9TdHJpbmcnKTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nLiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIGBudWxsYFxuICogYW5kIGB1bmRlZmluZWRgIHZhbHVlcy4gVGhlIHNpZ24gb2YgYC0wYCBpcyBwcmVzZXJ2ZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvU3RyaW5nKG51bGwpO1xuICogLy8gPT4gJydcbiAqXG4gKiBfLnRvU3RyaW5nKC0wKTtcbiAqIC8vID0+ICctMCdcbiAqXG4gKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiAnMSwyLDMnXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU3RyaW5nO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR2VuZXJpYyBTdHlsZXNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuYWctZ3JpZCwgYWctZ3JpZC1hbmd1bGFyLCBhZy1ncmlkLW5nMiwgYWctZ3JpZC1wb2x5bWVyLCBhZy1ncmlkLWF1cmVsaWEge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctaGlkZGVuIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1pbnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctZmFkZWQge1xcbiAgb3BhY2l0eTogMC4zOyB9XFxuXFxuLmFnLXdpZHRoLWhhbGYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLXVuc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1pbnB1dC10ZXh0LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XFxuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0O1xcbiAgYW5pbWF0aW9uLW5hbWU6IGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQ7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICBmcm9tIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgdG8ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgZnJvbSB7XFxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIHRvIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XFxuXFxuLmFnLXJvb3Qtd3JhcHBlciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1yb290LXdyYXBwZXIuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDEwcHg7XFxuICAgIHJpZ2h0OiAyNXB4O1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAzcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAzczsgfVxcbiAgICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcms6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiAnJztcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU5EazBjSGdpSUdobGFXZG9kRDBpTWpNNWNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBME9UUWdNak01SWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBnb2dJQ0FnUENFdExTQkhaVzVsY21GMGIzSTZJRk5yWlhSamFDQTBOeTR4SUNnME5UUXlNaWtnTFNCb2RIUndPaTh2ZDNkM0xtSnZhR1Z0YVdGdVkyOWthVzVuTG1OdmJTOXphMlYwWTJnZ0xTMCtDaUFnSUNBOGRHbDBiR1UrVEc5bmJ6d3ZkR2wwYkdVK0NpQWdJQ0E4WkdWell6NURjbVZoZEdWa0lIZHBkR2dnVTJ0bGRHTm9Mand2WkdWell6NEtJQ0FnSUR4a1pXWnpQZ29nSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB3TGpZeE1qZzBPVGt6TVN3eE1EZ2dUREF1TmpFeU9EUTVPVE14TERZM0xqUTFPVFl6TnpRZ1REQXVOakV5T0RRNU9UTXhMRFkzTGpRMU9UWXpOelFnUXpBdU5qRXlPRFE1T1RNeExEWXlMakV3TURZMU16WWdNeTQwTnpFNE16TTNPQ3cxTnk0eE5EZzNORGd6SURndU1URXlPRFE1T1RNc05UUXVORFk1TWpVMk5DQk1PVGd1TXpBMk5ESTFMREl1TXprMU9UY3hOVGNnVERrNExqTXdOalF5TlN3eUxqTTVOVGszTVRVM0lFTXhNREl1T1RRM05EUXhMQzB3TGpJNE16VXlNRE0xT0NBeE1EZ3VOalkxTkRBNUxDMHdMakk0TXpVeU1ETTFPQ0F4TVRNdU16QTJOREkxTERJdU16azFPVGN4TlRjZ1RERXhNeTR6TURZME1qVXNNaTR6T1RVNU56RTFOeUJNTWpBekxqVXNOVFF1TkRZNU1qVTJOQ0JNTWpBekxqVXNOVFF1TkRZNU1qVTJOQ0JETWpBNExqRTBNVEF4Tml3MU55NHhORGczTkRneklESXhNU3cyTWk0eE1EQTJOVE0ySURJeE1TdzJOeTQwTlRrMk16YzBJRXd5TVRFc01UTTRJRXd4T0RFc01UTTRJRXd4T0RBdU9UazNNRFF4TERrekxqazVPVGs1T1RnZ1RERTRNQzQ1T1RZd016SXNPVE11T1RrNU9UazVPU0JETVRnd0xqazVOVFEzTlN3NE5TNDNNVFl4TWpJMklERTNOQzR5TnprNU1Ea3NOemt1TURBeE1EQTROeUF4TmpVdU9UazJNRE15TERjNUxqQXdNVEF3T0RjZ1RERXlNaXczT0M0NU9UazVPVGs1SUVNeE1UTXVOekUxTnpJNUxEYzRMams1T1RrNU9Ua2dNVEEzTERnMUxqY3hOVGN5T0RZZ01UQTNMRGt6TGprNU9UazVPVGtnVERFd055d3hNell1TURFMU5qSXpJRXd4TURjc01UTTJMakF4TlRZeU15QkRNVEEzTERFME5DNHlPVGs0T1RVZ01URXpMamN4TlRjeU9Td3hOVEV1TURFMU5qSXpJREV5TWl3eE5URXVNREUxTmpJeklFd3hOamdzTVRVeExqQXhOVFl5TXlCTU1UWTRMREUyTXlCRE1UWTRMREUyTkM0Mk5UWTROVFFnTVRZMkxqWTFOamcxTkN3eE5qWWdNVFkxTERFMk5pQk1NVEl3TERFMk5pQk1NVEl3TERFM09TQk1NVFkxTGprNU5qQXpNaXd4TnprZ1RERTJOUzQ1T1RZd016SXNNVGM0TGprNU56ZzNOeUJETVRjMExqSTNPVFEzTkN3eE56Z3VPVGszT0RjM0lERTRNQzQ1T1RRNE5pd3hOekl1TWpnek5EUXlJREU0TUM0NU9UWXdNeklzTVRZMElFd3hPREVzTVRVd0xqazJNRFUxTkNCTU1qRXhMREUxTUM0NU5qQTFOVFFnVERJeE1Td3hOekV1TmpBMk1qQTNJRXd5TVRFc01UY3hMall3TmpJd055QkRNakV4TERFM05pNDVOalV4T1RFZ01qQTRMakUwTVRBeE5pd3hPREV1T1RFM01EazJJREl3TXk0MUxERTROQzQxT1RZMU9EZ2dUREV4TXk0ek1EWTBNalVzTWpNMkxqWTJPVGczTXlCTU1URXpMak13TmpReU5Td3lNell1TmpZNU9EY3pJRU14TURndU5qWTFOREE1TERJek9TNHpORGt6TmpVZ01UQXlMamswTnpRME1Td3lNemt1TXpRNU16WTFJRGs0TGpNd05qUXlOU3d5TXpZdU5qWTVPRGN6SUV3NExqRXhNamcwT1RrekxERTROQzQxT1RZMU9EZ2dURGd1TVRFeU9EUTVPVE1zTVRnMExqVTVOalU0T0NCRE15NDBOekU0TXpNM09Dd3hPREV1T1RFM01EazJJREF1TmpFeU9EUTVPVE14TERFM05pNDVOalV4T1RFZ01DNDJNVEk0TkRrNU16RXNNVGN4TGpZd05qSXdOeUJNTUM0Mk1USTRORGs1TXpFc01USXhJRXd5Tnl3eE1qRWdUREkzTERFek5pQkRNamNzTVRRMExqSTROREkzTVNBek15NDNNVFUzTWpnM0xERTFNU0EwTWl3eE5URWdURFF5TERFMU1TQk1NVEF3TERFMU1TQk1NVEF3TERrMElFTXhNREFzT0RVdU56RTFOekk0T0NBNU15NHlPRFF5TnpFeUxEYzVJRGcxTERjNUlFd3lOeXczT1NCTU1qY3NPVElnVERnMExEa3lJRU00TlM0Mk5UWTROVFF5TERreUlEZzNMRGt6TGpNME16RTBOVGdnT0Rjc09UVWdURGczTERrMUlFdzROeXd4TURnZ1REQXVOakV5T0RRNU9UTXhMREV3T0NCYUlpQnBaRDBpY0dGMGFDMHhJajQ4TDNCaGRHZytDaUFnSUNBOEwyUmxabk0rQ2lBZ0lDQThaeUJwWkQwaVUzbHRZbTlzY3lJZ2MzUnliMnRsUFNKdWIyNWxJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqRWlJR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dhV1E5SWt4dloyOGlQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5EYzNMRFUxSUV3ME9UUXNOVFVnVERRNU5Dd3hOVEVnVERRek5Td3hOVEVnUXpReU5pNDNNVFUzTWprc01UVXhJRFF5TUN3eE5EUXVNamcwTWpjeElEUXlNQ3d4TXpZZ1REUXlNQ3c1TmlCRE5ESXdMRGczTGpjeE5UY3lPRGdnTkRJMkxqY3hOVGN5T1N3NE1TQTBNelVzT0RFZ1REUXpOU3c0TVNCTU5EYzNMRGd4SUV3ME56Y3NOVFVnV2lCTk5EUXdMRGs0SUVNME16Z3VNelF6TVRRMkxEazRJRFF6Tnl3NU9TNHpORE14TkRVNElEUXpOeXd4TURFZ1REUXpOeXd4TXpFZ1F6UXpOeXd4TXpJdU5qVTJPRFUwSURRek9DNHpORE14TkRZc01UTTBJRFEwTUN3eE16UWdURFEzTnl3eE16UWdURFEzTnl3NU9DQk1ORFF3TERrNElGb2lJR2xrUFNKa0lpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKcElpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d6T1RZdU1EQXdNREF3TENBMU5TNHdNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHdiMng1WjI5dUlHbGtQU0pRWVhSb0xUWWlJR1pwYkd3OUlpTkdSa1pHUmtZaUlIQnZhVzUwY3owaU1DQXlOaUF4TnlBeU5pQXhOeUE1TmlBd0lEazJJajQ4TDNCdmJIbG5iMjQrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0c5c2VXZHZiaUJwWkQwaVVHRjBhQzAzSWlCbWFXeHNQU0lqUlRFeFJqSXlJaUJ3YjJsdWRITTlJakFnTVM0eE16WTROamd6T0dVdE1UTWdNVGNnTVM0eE16WTROamd6T0dVdE1UTWdNVGNnTVRjZ01DQXhOeUkrUEM5d2IyeDVaMjl1UGdvZ0lDQWdJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHpNekVzTVRVeElFd3pORGdzTVRVeElFd3pORGdzTVRBeElFd3pORGdzTVRBeElFTXpORGdzT1RrdU16UXpNVFExT0NBek5Ea3VNelF6TVRRMkxEazRJRE0xTVN3NU9DQk1Nemc1TERrNElFd3pPRGtzT0RFZ1RETTBOaXc0TVNCTU16UTJMRGd4SUVNek16Y3VOekUxTnpJNUxEZ3hJRE16TVN3NE55NDNNVFUzTWpnNElETXpNU3c1TmlCTU16TXhMREUxTVNCYUlpQnBaRDBpY2lJZ1ptbHNiRDBpSTBaR1JrWkdSaUkrUEM5d1lYUm9QZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16STBMRGcySUV3ek1qUXNOellnVERNeU5DdzNOaUJETXpJMExEWTNMamN4TlRjeU9EZ2dNekUzTGpJNE5ESTNNU3cyTVNBek1Ea3NOakVnVERJME9TdzJNU0JNTWpRNUxEWXhJRU15TkRBdU56RTFOekk1TERZeElESXpOQ3cyTnk0M01UVTNNamc0SURJek5DdzNOaUJNTWpNMExERXpOaUJNTWpNMExERXpOaUJETWpNMExERTBOQzR5T0RReU56RWdNalF3TGpjeE5UY3lPU3d4TlRFZ01qUTVMREUxTVNCTU16QTVMREUxTVNCTU16QTVMREUxTVNCRE16RTNMakk0TkRJM01Td3hOVEVnTXpJMExERTBOQzR5T0RReU56RWdNekkwTERFek5pQk1NekkwTERFd01DQk1NamczTERFd01DQk1NamczTERFeE55Qk1NekEzTERFeE55Qk1NekEzTERFek1TQk1NekEzTERFek1TQkRNekEzTERFek1pNDJOVFk0TlRRZ016QTFMalkxTmpnMU5Dd3hNelFnTXpBMExERXpOQ0JNTWpVMExERXpOQ0JNTWpVMExERXpOQ0JETWpVeUxqTTBNekUwTml3eE16UWdNalV4TERFek1pNDJOVFk0TlRRZ01qVXhMREV6TVNCTU1qVXhMRGd4SUV3eU5URXNPREVnUXpJMU1TdzNPUzR6TkRNeE5EVTRJREkxTWk0ek5ETXhORFlzTnpnZ01qVTBMRGM0SUV3ek1EUXNOemdnVERNd05DdzNPQ0JETXpBMUxqWTFOamcxTkN3M09DQXpNRGNzTnprdU16UXpNVFExT0NBek1EY3NPREVnVERNd055dzROaUJNTXpJMExEZzJJRm9pSUdsa1BTSkhJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSmhaeUkrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4WnlCcFpEMGlRMjl0WW1sdVpXUXRVMmhoY0dVaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh0WVhOcklHbGtQU0p0WVhOckxUSWlJR1pwYkd3OUluZG9hWFJsSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqY0dGMGFDMHhJajQ4TDNWelpUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDIxaGMycytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhWelpTQm1hV3hzUFNJalJURXhSakl5SWlCNGJHbHVhenBvY21WbVBTSWpjR0YwYUMweElqNDhMM1Z6WlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHlaV04wSUdsa1BTSm5JaUJtYVd4c1BTSWpSVEV4UmpJeUlpQjRQU0l4TWpBaUlIazlJamt5SWlCM2FXUjBhRDBpTkRnaUlHaGxhV2RvZEQwaU5EWWlJSEo0UFNJeklqNDhMM0psWTNRK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5EQXNNVEl4SUV3NE55d3hNakVnVERnM0xERXpPQ0JNTkRNc01UTTRJRXcwTXl3eE16Z2dRelF4TGpNME16RTBOVGdzTVRNNElEUXdMREV6Tmk0Mk5UWTROVFFnTkRBc01UTTFJRXcwTUN3eE1qRWdXaUlnYVdROUlrTnZiV0pwYm1Wa0xWTm9ZWEJsSWlCbWFXeHNQU0lqUlRFeFJqSXlJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09KTtcXG4gICAgICAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDUwJSk7XFxuICAgICAgZmlsdGVyOiBpbnZlcnQoNTAlKTtcXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTEwcHggNjBweDtcXG4gICAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgICBoZWlnaHQ6IDYwcHg7XFxuICAgICAgd2lkdGg6IDExMHB4OyB9XFxuICAgIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyayAuYWctd2F0ZXJtYXJrLXRleHQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBmb250LWZhbWlseTogSW1wYWN0O1xcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxcblxcbi5hZy1yb290LXdyYXBwZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuICAuYWctcm9vdC13cmFwcGVyLWJvZHkuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIGhlaWdodDogMDtcXG4gICAgbWluLWhlaWdodDogMDsgfVxcblxcbi5hZy1yb290IHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAuYWctcm9vdC5hZy1sYXlvdXQtbm9ybWFsLCAuYWctcm9vdC5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICB3aWR0aDogMDsgfVxcbiAgLmFnLXJvb3QuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIGhlaWdodDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVmlld3BvcnRzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXItdmlld3BvcnQsXFxuLmFnLWZsb2F0aW5nLXRvcC12aWV3cG9ydCxcXG4uYWctYm9keS12aWV3cG9ydCxcXG4uYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCxcXG4uYWctY2VudGVyLWNvbHMtdmlld3BvcnQsXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLXZpZXdwb3J0LFxcbi5hZy1mbG9hdGluZy1ib3R0b20tdmlld3BvcnQsXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQsXFxuLmFnLXZpcnR1YWwtbGlzdC12aWV3cG9ydCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQ6bm90KC5hZy1sYXlvdXQtcHJpbnQpLmFnLWZvcmNlLXZlcnRpY2FsLXNjcm9sbCB7XFxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLXZpZXdwb3J0LCAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLmFnLWNlbnRlci1jb2xzLXZpZXdwb3J0IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXZpZXdwb3J0IHtcXG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxcblxcbi5hZy12aXJ0dWFsLWxpc3Qtdmlld3BvcnQge1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29udGFpbmVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctdG9wLWNvbnRhaW5lcixcXG4uYWctYm9keS1jb250YWluZXIsXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLWNvbnRhaW5lcixcXG4uYWctY2VudGVyLWNvbHMtY29udGFpbmVyLFxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWNvbnRhaW5lcixcXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC1jb250YWluZXIsXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLXZpcnR1YWwtbGlzdC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWhlYWRlci1jb250YWluZXIsIC5hZy1mbG9hdGluZy10b3AtY29udGFpbmVyLCAuYWctZmxvYXRpbmctYm90dG9tLWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgbWluLWhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1hdXRvLWhlaWdodCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciwgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LWF1dG8taGVpZ2h0IC5hZy1jZW50ZXItY29scy1jb250YWluZXIge1xcbiAgbWluLWhlaWdodDogNTBweDsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IC5hZy1jZW50ZXItY29scy1jb250YWluZXIge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtcHJpbnQge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gIC1tcy1mbGV4OiBub25lO1xcbiAgZmxleDogbm9uZTsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LXByaW50IC5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLXRvcC1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMHB4O1xcbiAgbGVmdDogMHB4O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyLCAuYWctZmxvYXRpbmctdG9wLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy12aXJ0dWFsLWxpc3QtY29udGFpbmVyIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFNjcm9sbGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDE7XFxuICBmbGV4OiAxO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gIG1pbi1oZWlnaHQ6IDA7XFxuICBtaW4td2lkdGg6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWxheW91dC1wcmludCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuXFxuLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBtaW4td2lkdGg6IDA7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7XFxuICBvdmVyZmxvdy14OiBzY3JvbGw7IH1cXG4gIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogSGVhZGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLCAuYWctcGlubmVkLWxlZnQtaGVhZGVyLCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi5hZy1oZWFkZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctaGVhZGVyLWljb24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItcm93IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctaGVhZGVyLW92ZXJsYXkge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtY2VsbC1sYWJlbCwgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItY2VsbC10ZXh0IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG5cXG4uYWctaGVhZGVyLWdyb3VwLXRleHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiA0cHg7IH1cXG5cXG4uYWctaGVhZGVyLWV4cGFuZC1pY29uIHtcXG4gIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuXFxuLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbHVtbnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnM7IH1cXG5cXG4uYWctY29sdW1uLW1vdmluZyAuYWctaGVhZGVyLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnM7IH1cXG5cXG4uYWctY29sdW1uLW1vdmluZyAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnMsIHdpZHRoIDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMsIHdpZHRoIDAuMnM7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbHVtbiBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY29sdW1uLXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDQ7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogNDtcXG4gIGZsZXgtZ3JvdzogNDtcXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xcbiAgZmxleC1zaHJpbms6IDE7XFxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gIGZsZXgtYmFzaXM6IDA7IH1cXG4gIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgZmxleDogbm9uZTsgfVxcbiAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctY29sdW1uLW5hbWUtZmlsdGVyIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIgaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG92ZXJmbG93OiBhdXRvOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAgIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgMHB4O1xcbiAgZmxleDogMSAxIDA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IGRpdiB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgIGZsZXgtZ3JvdzogMTtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBSb3dzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1yb3ctYW5pbWF0aW9uIC5hZy1yb3cge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xcbiAgdHJhbnNpdGlvbjogdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40cztcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7IH1cXG5cXG4uYWctcm93LW5vLWFuaW1hdGlvbiAuYWctcm93IHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuXFxuLmFnLXJvdyB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcm93LXBvc2l0aW9uLWFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1yb3ctcG9zaXRpb24tcmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtcm93IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XFxuXFxuLmFnLXJvdy1pbmxpbmUtZWRpdGluZyB7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJvdy1kcmFnZ2luZyB7XFxuICB6LWluZGV4OiAyOyB9XFxuXFxuLmFnLXN0dWItY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ2VsbHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNlbGwge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1jZWxsLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLWNlbGwtd3JhcHBlci5hZy1yb3ctZ3JvdXAge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy1jZWxsLXdyYXBwZXIgLmFnLWNlbGwtdmFsdWUsIC5hZy1jZWxsLXdyYXBwZXIgLmFnLWdyb3VwLXZhbHVlIHtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1yb3cuYWctcm93LWdyb3VwIC5hZy1jZWxsLXdyYXBwZXIge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuXFxuLmFnLWNlbGwtd2l0aC1oZWlnaHQge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWdyb3VwLWNlbGwtZW50aXJlLXJvdyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZm9vdGVyLWNlbGwtZW50aXJlLXJvdyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICB6LWluZGV4OiAxOyB9XFxuICAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyAuYWctY2VsbC1lZGl0LWlucHV0LCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmlsdGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItY2hlY2tib3gge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuXFxuLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEZsb2F0aW5nIEZpbHRlclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSAuYWctcmVhY3QtY29udGFpbmVyLCAuYWctZmxvYXRpbmctZmlsdGVyLWJvZHkgLmFnLXJlYWN0LWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5ID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgaW5wdXQge1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0IHtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1pbnB1dDotbW96LXJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1pbnB1dDpyZWFkLW9ubHkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItbWVudSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBEcmFnICYgRHJvcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZG5kLWdob3N0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgY3Vyc29yOiBtb3ZlO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMS40O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBhZGRpbmc6IDNweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDEwOyB9XFxuXFxuLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gIHBhZGRpbmc6IDJweDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogT3ZlcmxheVxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctb3ZlcmxheSB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1vdmVybGF5LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1vdmVybGF5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLW92ZXJsYXktd3JhcHBlci5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG5cXG4uYWctb3ZlcmxheS1uby1yb3dzLXdyYXBwZXIuYWctbGF5b3V0LWF1dG8taGVpZ2h0IHtcXG4gIHBhZGRpbmctdG9wOiAzMHB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBQb3B1cFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcG9wdXAgPiBkaXYge1xcbiAgei1pbmRleDogNTsgfVxcblxcbi5hZy1wb3B1cC1iYWNrZHJvcCB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcG9wdXAtZWRpdG9yIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBWaXJ0dWFsIExpc3RzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHNwYW46ZW1wdHk6bm90KC5hZy1pY29uKSB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEZsb2F0aW5nIFRvcCBhbmQgQm90dG9tXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy10b3Age1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLXRvcCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLXRvcCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctZmxvYXRpbmctYm90dG9tIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1mbG9hdGluZy1ib3R0b20ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1mbG9hdGluZy1ib3R0b20ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBEaWFsb2dcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWRpYWxvZyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICB6LWluZGV4OiAxOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3BMZWZ0IHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGxlZnQ6IDVweDtcXG4gICAgICByaWdodDogNXB4O1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3BSaWdodCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItcmlnaHQge1xcbiAgICAgIHRvcDogNXB4O1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGJvdHRvbTogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBldy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbVJpZ2h0IHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b20ge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBsZWZ0OiA1cHg7XFxuICAgICAgcmlnaHQ6IDVweDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tTGVmdCB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1sZWZ0IHtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIHRvcDogNXB4O1xcbiAgICAgIGJvdHRvbTogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBldy1yZXNpemU7IH1cXG4gIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICBmbGV4OiBub25lO1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci10aXRsZSB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XFxuICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctY29udGVudC13cmFwcGVyIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLWNvbnRlbnQtd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1jb250ZW50IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbHRpcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHotaW5kZXg6IDk5OTk5OyB9XFxuXFxuLmFnLWNoYXJ0LXRvb2x0aXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHotaW5kZXg6IDk5OTk5O1xcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JheTtcXG4gIGZvbnQ6IDEycHggVmVyZGFuYSwgc2Fucy1zZXJpZjtcXG4gIHBhZGRpbmc6IDdweDtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ0LCAyNDQsIDI0NCwgMC45KTtcXG4gIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcCAudGl0bGUge1xcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQW5pbWF0aW9uc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdmFsdWUtc2xpZGUtb3V0IHtcXG4gIG1hcmdpbi1yaWdodDogNXB4O1xcbiAgb3BhY2l0eTogMTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzcywgbWFyZ2luLXJpZ2h0IDNzO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzcywgbWFyZ2luLXJpZ2h0IDNzO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbi5hZy12YWx1ZS1zbGlkZS1vdXQtZW5kIHtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG4gIG9wYWNpdHk6IDA7IH1cXG5cXG4uYWctb3BhY2l0eS16ZXJvIHtcXG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogTWVudVxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctbWVudSB7XFxuICBtYXgtaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgaGVpZ2h0OiAyNjVweDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDIwMHB4OyB9XFxuXFxuLmFnLW1lbnUtbGlzdCB7XFxuICBkaXNwbGF5OiB0YWJsZTsgfVxcblxcbi5hZy1tZW51LW9wdGlvbiwgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxcbiAgLmFnLW1lbnUtb3B0aW9uID4gc3BhbiwgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG5cXG4uYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUmljaCBTZWxlY3RcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXJpY2gtc2VsZWN0IHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIG91dGxpbmU6IG5vbmU7IH1cXG4gIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSA+IHNwYW4ge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgLmFnLWljb24ge1xcbiAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgb3JkZXI6IDE7IH1cXG4gIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBhZ2luYXRpb25cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cXG5cXG4uYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWRpc2FibGVkIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFRvb2wgUGFuZWxcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgd2lkdGg6IDIwMHB4OyB9XFxuICAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4sXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgZmxleC13cmFwOiBub3dyYXA7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICBjdXJzb3I6IGNvbC1yZXNpemU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogNXB4O1xcbiAgei1pbmRleDogMTsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtaG9yaXpvbnRhbC1yZXNpemUge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpOyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxcblxcbi5sb2FkaW5nLWZpbHRlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcGFkZGluZzogNXB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNHB4O1xcbiAgd2lkdGg6IDEwMCU7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLWRldGFpbHMtcm93IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWRldGFpbHMtZ3JpZCB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxcblxcbi5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR3JvdXAgQ29tcG9uZW50XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKi9cXG4uYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogLTEwcHg7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFNpZGUgQmFyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zaWRlLWJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGRpdiBidXR0b24ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgb3V0bGluZTogbm9uZTtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGRpdiBidXR0b24gc3Bhbjpub3QoLmFnLWljb24pIHtcXG4gICAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgLW1zLXdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XFxuICAgICAgLW1zLXdyaXRpbmctbW9kZTogdGItbHI7XFxuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsgfVxcbiAgLmFnLXNpZGUtYmFyIC5wYW5lbC1jb250YWluZXIge1xcbiAgICB3aWR0aDogMTgwcHg7IH1cXG4gIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5wYW5lbC1jb250YWluZXIge1xcbiAgICB3aWR0aDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGJ1dHRvbiBzcGFuOm5vdCguYWctaWNvbikge1xcbiAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgLW1zLXdyaXRpbmctbW9kZTogdGItcmw7XFxuICB3cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xcbiAgLW1zLXdyaXRpbmctbW9kZTogdGItcmw7XFxuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTdGF0dXMgQmFyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zdGF0dXMtYmFyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctc3RhdHVzLWJhciAuYWctc3RhdHVzLXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItbGVmdCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLXJpZ2h0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDExMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDE3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1sZWZ0OiAxOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1yaWdodDogMTkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDIzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1sZWZ0OiAyNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1yaWdodDogMjUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctbGVmdDogMjcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1sZWZ0OiAzMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1yaWdodDogMzEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctbGVmdDogMzMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1sZWZ0OiAzNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1yaWdodDogMzcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1sZWZ0OiA0MzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1yaWdodDogNDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctbGVmdDogNDUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1sZWZ0OiA0OTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1yaWdodDogNDkwcHg7IH1cXG5cXG4uYWctbHRyIHtcXG4gIGRpcmVjdGlvbjogbHRyOyB9XFxuICAuYWctbHRyIC5hZy1ib2R5LCAuYWctbHRyIC5hZy1mbG9hdGluZy10b3AsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLWx0ciAuYWctaGVhZGVyLCAuYWctbHRyIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctbHRyIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHJpZ2h0OiAtNHB4OyB9XFxuICAuYWctbHRyIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBsZWZ0OiAtNHB4OyB9XFxuXFxuLmFnLXJ0bCB7XFxuICBkaXJlY3Rpb246IHJ0bDsgfVxcbiAgLmFnLXJ0bCAuYWctYm9keSwgLmFnLXJ0bCAuYWctZmxvYXRpbmctdG9wLCAuYWctcnRsIC5hZy1mbG9hdGluZy1ib3R0b20sIC5hZy1ydGwgLmFnLWhlYWRlciwgLmFnLXJ0bCAuYWctYm9keS12aWV3cG9ydCwgLmFnLXJ0bCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG4gIC5hZy1ydGwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLXJvdyB7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XFxuXFxuLmFnLWJvZHkgLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctYm9keSAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuXFxuLmFnLWNoYXJ0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNhbnZhcy13cmFwcGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNhbnZhcy13cmFwcGVyIGNhbnZhcyB7XFxuICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAxMHB4O1xcbiAgICByaWdodDogMjBweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51ID4gZGl2IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItaGVhZGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItYm9keSA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICAgICAgICBvcGFjaXR5OiAwLjI7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1wcmV2LWJ0biwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtbmV4dC1idG4ge1xcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAgIGhlaWdodDogMjRweDtcXG4gICAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxuICAgICAgICBmb250LXNpemU6IDI0cHg7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuIGJ1dHRvbiwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtbmV4dC1idG4gYnV0dG9uIHtcXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgICB0b3A6IDA7XFxuICAgICAgICAgIGxlZnQ6IDA7XFxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgICAgb3BhY2l0eTogMDsgfVxcbiAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlci5hZy1hbmltYXRpbmcsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlci5hZy1hbmltYXRpbmcge1xcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwgY2FudmFzIHtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWRhdGEtd3JhcHBlciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcblxcbi5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW4ge1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIG1hcmdpbjogMnB4IDA7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQ6aG92ZXIgLmFnLWNoYXJ0LW1lbnU6bm90KC5hZy1oYXMtcG9wdXApIHtcXG4gIG9wYWNpdHk6IDE7XFxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XFxuICAuYWctY2hhcnQ6aG92ZXIgLmFnLWNoYXJ0LW1lbnU6bm90KC5hZy1oYXMtcG9wdXApOmhvdmVyID4gc3BhbiB7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIHBhZGRpbmc6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgbWFyZ2luOiA1cHg7XFxuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gIHBhZGRpbmc6IDAgMTBweDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgcGFkZGluZzogMCAxMHB4OyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4vKiB0YXJnZXRzIElFMTEgb25seSAqL1xcbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wmc3L0dKQUFBQUY0QUFBYkJHaGxZV1FWTXlRSEFBQWNmQUFBQURab2FHVmhCOElEK0FBQUhMUUFBQUFrYUcxMGVOSUFJZ01BQUJ6WUFBQUEzR3h2WTJHN3BNSWVBQUFkdEFBQUFIQnRZWGh3QUVRQWxRQUFIaVFBQUFBZ2JtRnRaZENGS0dJQUFCNUVBQUFCd25CdmMzUUFBd0FBQUFBZ0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQURBRC8vL3dQQkE0RUFKd0JRQUhBQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l3RWpOU0VjQVJVZUFSY1dCZ2NPQVJVaE5UTVZJVFEyTno0Qkp5NEJKelVoQXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW4rQlNVNkFRRUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCQVFNQ05TUkpTRW1SU1VoSkFlQkEvd0FCZFJrUUNoZ25WZ0VBUVA2QUJoc3RaQ0F1WWdJQmdBT0FBbHcrU1VsSmtrbEpTVDVjQWdFQkFRRUNYRDVKU1VtU1NVbEpQbHdDQVFFQlFUZ21TRWxKa2tsSlNTUTFBZ01CQVFFQkF3STFKRWxKU3BKS1NVa2tOUUlEQVFFQi93QkFBUUVCSUVJckhFUVhJajBhUUlBbVRCZ25SeDhwUnpSRkFBRUFVd0FUQTYwRGJRQW5BQUFURndjbk54NEJGd2NoRVFjbk54NEJGd2NuRVNFbk54NEJGd2NuTnlFUk54NEJGd2NuTnhjUnpVb3VscFlNRmd4S0FSTkpMcGNtU3lZdVNRRVRTaTRsVENXV0xrcis3VWtNRmd5WGx5NUpBYUJKTHBlWERCWU1TUUVUU2k2V0pVd2xMa3IrN1VrdUprc21seTVKL3UxS0RCWU1scFl1U2dFVEFBQUJBU2tBbVFMWEF1Y0FDZ0FBQVFjbk54NEJGd2NuRVNNQjRJa3UxelpyTmk2SlFBSnNpUzNYTm1zMkxZbitMUUFEQUlBQVFBT0FBMEFBR3dBM0FFWUFBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyRXpjZUFSY0hGd2NuQnljM0p6Y1hBZ0JQUmtacEhoNGVIbWxHUms5UFJrWnBIaDRlSG1sR1JrOUNPenBYR1JrWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBLcERCWU1xcW91cWFrdXFxb3VxUU5BSGg1cFJrWlBUMFpHYVI0ZUhoNXBSa1pQVDBaR2FSNGVRQmtaVnpvN1FrSTdPbGNaR1JrWlZ6bzdRa0k3T2xjWkdmN3RxZ3dXREttcExxcXFMcW1wTHFvQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQURBQUQvd0FRQUE4QUFFQUFoQUNrQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZakV5RWlCaFVSRkJZeklUSTJOUkUwSmlNSEFTYzNGd0VlQVFOSS9YQk1iR3hNQXBCTWJHeE1BdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBQUFBd0FBLzhBRUFBUEFBQkFBSVFBbEFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZakF5RTFJUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMaVg5dGdKS1FHeE1BcEJNYkd4TS9YQk1iQU81UVMzOWJTNUFRQzRDa3kxQi9pSktBQUFBQWdBQS84QUVBQVBBQUJBQUlRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUl3TklUR3hzVFAxd1RHeHNUQUtRQXYxdExVRkJMUUtUTFVGQUxnUEFiRXo5Y0V4c2JFd0NrRXhzUjBFdC9XMHVRRUF1QXBNdFFRQUNBTUFBb0FIQUF1QUFDUUFQQUFBbElSRWhGQlVjQVJVVUF4RXpFU29CQWNEL0FBRUF3SUFnUUtBQ1FFaElTSkJJU0FHNC9rQUJ3QUFBQUFBRUFNQUFvQU5BQXVBQUF3QUhBQXNBRHdBQUpTTVJNeE1qRVRNVEl4RXpBU01STXdIQVFFREFRRURBUUVEOXdFQkFvQUpBL2NBQ1FQM0FBa0Q5d0FKQUFBQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBd0NnQUVBRFlBTkFBQkFBSUFBekFBQWxJeUltTlJFME5qc0JNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZQkl6d0JOUkUwTmpNaE9nRXpGU0VpQmhVUkFyNzdRMkJnUS90RFgxOURCZjc5SnpjM0p3RURKemMzL2ZkQlgwTUJtZ0VDQWY1ZEpqWkFYMFFCT2tOZ1lFUCt4a1JmQWtBNEp2NjdKemMzSndGRkpqaitBQUVFQWdJWFExOUFOaWI5M0FBQUFBQUJBU2tBNlFMWEFwY0FEZ0FBQVRjZUFSY0hGd2NuQnljM0p6Y1hBZ0NwREJZTXFxb3VxYWt1cXFvdXFRSHRxZ3dXREttcExxcXFMcW1wTHFvQUFBQUFCUUJBQUFBRHdBT0FBQ1VBTWdBL0FFc0FVUUFBQVQ0Qk5UUW1JeUlHRlJRV016STJOeGNITGdFaklnWVZGQll6TWpZMU5DWW5Od0V6TlFFSElpWTFORFl6TWhZVkZBWWpFU0ltTlRRMk16SVdGUlFHSXdFaUpqVTBOak15RmhVVUJna0JGd0UxSXdHV0NBaHBTa3BwYVVvVUpSRnBhUkVsRkVwcGFVcEthUWdJYWdFNmh2M1dveVUwTkNVbE5UVWxKVFEwSlNVMU5TVUJEUWtORFFrSkRRMEJNZjd6V1FFNmhnS0RFU1VVU21scFNrcHBDQWhxYWdnSWFVcEthV2xLRkNVUmFmN0hMUUlwRURVbEpUUTBKU1UxL2VjMEpTVTFOU1VsTkFGUURRa0pEUTBKQ1EwQnFmN3pXUUU1TFFBQUJ3Q0dBRllEZWdNcUFBc0FEd0FiQUNnQUxBQTRBRHdBQURjaUJoVVVGak15TmpVMEpnVTFJUlVESWdZVkZCWXpNalkxTkNZSE1oWVZGQVlqSWlZMU5EWXpCU0UxSVFFeUZoVVVCaU1pSmpVME5nVWhOU0hHR2lZbUdoc2xKUUtaL2VhYUdpWW1HaHNsSlJzU0dSa1NFUmtaRVFJSi9wRUJiLzMzR3lVbEd4b21KZ0xPL2VZQ0d0WW1HaHNsSlJzYUptdFZWUUdWSmhvYUppWWFHaVlWR1JJU0dSa1NFaGxXVmdFL0pSc2FKaVlhR3lWcVZRQUFBQUVCS1FDWkF0Y0M1d0FLQUFBQk54NEJGd2NuTnhjUk13SWdpUXdXRE5mWExvbEFBUlNKQ3hjTDE5Y3RpUUhUQUFFQlhnQ3BBcUlDMXdBTUFBQUpBU2MzSnpjV0Z4NEJGeFlYQXFMKzZTM3A2UzBqSXlORkl5TWpBY0QrNlM3cDZTNGpJeU5HSWlNakFBQUFBQVVBUXdCekE3MEREUUFzQUVvQWFBQnpBSDBBQUFFK0FUYzZBVE1XRng0QkZ4WVhNQVlIRGdFSEZ3Y25CZ2NHSmljbUp5NEJKeTRCSnpBMk56NEJOeWMzRndjT0FROEJGaGNlQVJjV056NEJOeWNPQVNNaUp5NEJKeVkxTkRZM0p3RStBVDhCSmljdUFTY21CdzRCQnhjK0FUTXlGeDRCRnhZVkZBWUhGd0VPQVJVVUZqTXlOamNuQlQ0Qk5UUW1JeUlHQndFcUwyZzJCd1FIU0VOQ2NpMHRHemt1RUNRVFBpMUxPVUJBZ0Q0OU5TbEVHUW9QQ2lVYkZ6Y2dQaTFLQ2pGT0dBRWROemVKVEV4SUN4WUtIUnhFSmk4b0tUMFNFUmNWTUFIQk1VMFlBUmduS0dVN096NHBVQ1VrSEVRbUxpa3BQUkVTR0JVcS9wME1EbDVDR0MwVDNnRUxEUTVlUWhrc0V3TEVGeHNDQWhnWFVqazRSSFl3RVI0TlBpMUxIQTBNQ0JVVkpoNUtMQkVpR0ZNa0h6WVdQaTFKVVNGWk53SkZOVFUvQndjWEJBZ0ZIUlVZRWhJOEtTa3VKa1FjTWY2WklWbzNBamd1TGtFU0VnRUJFeEVqRlJjUkVqMHBLQzhsUlJ3cUFRZ1RMQmxDWGc0TjNiQVRMUmhEWFE0TUFBUUFRd0NaQTcwQzlnQWtBRU1BWUFCekFBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFbkppY3VBU2N1QVNjd05qYzJOejRCTnpZM09nRXpCd1lIRGdFSEJnOEJGaGNlQVJjV056WTNQZ0UzTmo4QkppY3VBU2NtSXhjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZ6QTBNVFFtSXlJR0hRRVVGak15TmpVd05BSUpTRU5DY2kwdEd6a3VPazVPcUZOVVJTbEVHUW9QQ2lVYklDa3FZRFUxTndjRUJ4RTdPRGRnSnlZWUFSMDNONGxNVEVncUpTWkFHaG9TQVJnbktHVTdPejRJTFNnbk94RVNFaEU3SnlndExTZ25PeEVTRWhFN0p5Z3RvRjVDUWw1ZVFrSmVBdllDR0JkU09UaEVkakE5SXlRUUZSUXlIa29zRVNJWVV5UXJJeU15RGc0Q1FBSVNFMEF0TERZQ1JUVTFQd2NIRncwV0Zqc2pJeWdET0M0dFFoSVJIeEVST3ljb0xTMG9KenNTRVJFU095Y29MUzBvSnpzUkVkZ0JRbDVlUWdKQ1hsNUNBUUFBQUFBQ0FNQUFvQU5BQXdBQUhRQTdBQUFCQmdjT0FRY0dCdzRCSFFFSE5EWW5OQ1luSmljdUFTY21KelVoSEFFRkZCWVhGaGNlQVJjV0Z4VTNOVFkzUGdFM05qYytBVFVpSXlvQkl5SURRQUVXRlVFbEppQUVCTUFDQWdVRElTVW1RQllWQVFLQS9jQUVCQ0VsSmtBV0ZRRkFBUllWUVNVbUlBUUVRRUJBZ0VCQUFyb2dIeDgvSUNBaUJRc0dkWkJDZzBJR0NnUWlJU0pBSGg4ZFJoRWpEQWNPQmlJaElrQWVIeDJHTUZZZ0h4OC9JQ0FpQmc0SEFBQUFBZ0QxQUtrREN3TFhBQWNBQ3dBQUFRY1hCd2tCSGdFbEVTTVJBd3ZwNlMzKzZRRVhDeGYrTlVBQ3FlbnBMZ0VYQVJjTUZnditBQUlBQUFBQURBREFBTUFEUUFMQUFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBbEl6VXpGeU0xTXhjak5UTVhJelV6SlNNMU14Y2pOVE1YSXpVekZ5TTFNeVVqTlRNWEl6VXpGeU0xTXhjak5UTUJBRUJBd0VCQXdFQkF3RUJBL2NCQVFNQkFRTUJBUU1CQVFQM0FRRURBUUVEQVFFREFRRURBZ0lDQWdJQ0FnRUNBZ0lDQWdJQ0FRSUNBZ0lDQWdJQUFBQWdBUC8vL0E4RURnUUFuQUZBQVZBQllBRndBWUFCa0FHZ0FBQUVlQVJjV0ZSWVVCeFFIRGdFSEJpTUdJaWNpSnk0Qkp5WTFKalEzTkRjK0FUYzJNell5RnpJRklnWUhCZ2NPQVJjVUZ4NEJGeFlYRmpJM05qYytBVGMyTnpZMEp5WW5MZ0VuSmlNaUJnY0dJeE1qTlRNRklUVWhKU00xTXdVaE5TRWxJelV6QlNFMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTZUNBZ0FHQS9zQUJRUDZBZ0lBQmdQN0FBVUQrQUlDQUFnRCtRQUhBQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUZCT0NaSVNVbVNTVWxKSkRVQ0F3RUJBUUVEQWpVa1NVbEtra3BKU1NRMUFnTUJBUUg5NEVCQVFFQkFRRUJBUUVCQUFBQUFBQVFBUXdESUE3MEN1QUFrQUUwQVlBQndBQUFCRmhjZUFSY1dGekFHQndZSERnRUhCaWNtSnk0Qkp5WW5NRFkzTmpjK0FUYzJNem9CQnlJR0J3WUhEZ0VIQmdjd0ZoY1dGeDRCTnpZM05qYytBVGMyTnpBbUp5WW5MZ0VuSmlNcUFTTVhIZ0VWRkFZSERnRW5MZ0VuTkRZM1BnRXpCdzRCQndZV0Z4WTJOelltSnk0Qkl3SUpRRUpCZFM4d0hVSTdLUzh2WXpJeU1EczVPbVlwS1JsRlB5RWxKVTRvS0NjSEJBb05HUXd1TUM5Vkl5TVZIeDhxTkRSdk9EZ3hLaWdvU0IwZEVoOGZIaVVrVHlvcEtBWUVCaEpHaXhnWk1IdzBQR2NDR1J3a1Vqb1RJMGdXR3hvdlBZd2VHeUF3RnlBb0FyZ0JEQXc1THk5SWZTa2RFaEVSQVFFREJCQVBPeTB0UG9FcUZ3NFBFUVFFUUFFQkF3c0xLeUVoTGo4Y0tCVVZFUUlDQndZTkRTd2VIaWMvSFJ3VEVoUUZCQjBDUlZRZ1BSUW1CZ1VGVFVFaVFoWWFERUFCQ1JrZ1hBMFJCeVVpWEFzR0FnQUNBUFVBcVFNTEF0Y0FEQUFRQUFBSkFTYzNKemNXRng0QkZ4WVhFeU1STXdJNS91a3Q2ZWt0SXlNaVJpTWpJOUpBUUFIQS91a3U2ZWt1SXlNalJpSWpJLzhBQWdBQUFBQUNBSGtBa3dPSEF1MEFDd0FXQUFBQkJ5RVZJUmNIQ1FFZUFSY0ZGemNuSVRVaE55Y09BUUkwUUFHVC9tMUFqZjdTQVM0alJ5UCtvTk15Z0FIdS9oS0FNalZwQW1CQXdFQ05BUzBCTFNOSEk2RFRNNEJBZ0RNMWFRQUFBQWdBWUFBZ0E2QURZQUFEQUFrQUR3QVRBQmNBSFFBakFDY0FBQ1VqRVRNbkJ5YzNIZ0VGQnljM0hnRTNJVFVoQlNFMUlUY0hKemNlQVNVSEp6Y2VBUVVqRVRNQ0lFQkFjODB0elFzWEFhc3R6UzB6WjRiL0FBRUEvY0QvQUFFQVRTM05MVE5uQWRQTkxjMExGLzdlUUVBZ0FRQWd6UzNOQ3hlckxjMHRNMmZOUUVCQVlDM05MVE5uYmMwdHpRc1hpd0VBQUFBQ0FQRUFzUU1QQXM4QUJ3QU9BQUFUSHdFbk55Y0hKeVV2QVJjSEZ6ZnhBOTlIZEZOMVJ3SWVBOTlIZEZOMUFaUGZBMGQxVTNSSFd0OERSM1ZUZEFBQUF3REFBT0FEUUFLZ0FBTUFCd0FMQUFBbElUVWhOU0UxSVRVaE5TRURRUDJBQW9EOWdBS0EvWUFDZ09CQWdFQ0FRQUFBQUFJQXl3Q0tBelVDOWdBSEFBOEFBQ1V2QVJjSEZ6Y1hFeDhCSnpjbkJ5Y0IyZ1RlUjNSVGRVZE1CTjVIZEZOMVI3amVCRWgxVTNWSEFoRGVCRWgxVTNWSEFBQUFBZ0NBQVdBRGdBSWdBQVVBRHdBQUFTRTFJUndCSlJVaE5TSWpLZ0VqSWdPQS9RQURBUDFBQW9CUVVGQ2dVRkFCWU1Bd1lGQkFRQUFCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUNBRUFBb0FQQUF1QUFDZ0FXQUFBQk54NEJGd2NuTnhjUk13RWpFUWNuTng0QkZ3Y25FUUZCa0F3WERPRGdMNUJDQWNCQ2tDL2dPSEE0TDVBQkdJWUxGZ3ZTMGl5R0Fjajl3QUhJaGl6U05HazFMSWIrT0FBQUJnQjJBRUFEaXdOTEFCd0FNZ0JCQUZNQVlnQnVBQUFCRmhjZUFSY1dCd1lIRGdFbkppY21KeTRCTnpZM05qYytBVGMyRndjR0J3NEJCd1lYRmhjZUFUYzJOelluTGdFbkpnY1hGZ2NPQVFjR0p5NEJMd0VCSGdFQkZqYytBVGMyTnpZbUp3WUhEZ0VIQmdjVE1oWWZBUUVtSnlZMk56WTNPZ0VIQmdjT0FRY0dGd0V1QVFjQ0JtSlZWV3NPRFMwblRrMjNYVjVITHg0ZUZ3Z0lIQmtuSmw4M056a0tVMGRJV2dvTEp5aFRVN2xWVlMwbENnbFlTVWxjOHlNSUNFMUFRVTRjTkJnb0FZTUdDLzdZS0NrcVNSd2JEQWdCQ1NFZ0lVRWhJQ0ZESVVBZEtmNTlKUVVHTWpnNFdBUUtCakFxS2pjS0NnNEJCaEVpRWdOTEFqVTFwR1ZrWUZRM055VVZGRU1yT1RwK1FFQTZNaW9wT2hBUUFVQUJMUzJNVlZSUlV5MHRCQ29yWEV4VlZZOHZMZ0hOUUVwSmV5VW1DQUlSRFJZQmd3b1UvcTBNQlFVbklCOHBIajBkSUNFaFFTRWdJUUhXRVJBVy9ueEJTMHlDTGkwR1FBSVpHVTB3THk0QkJRVUZBUUFBQUFBREFJQUFNQU9BQTFBQUdnQW1BRG9BQUFFMEppTWlCaFVxQVNNaUJoVVJGQll6SVRJMk5SRTBKaU1xQVFjeUZoVVVCaU1pSmpVME5nRWhJaVkxRVRRMk93RVZJVFV6TWhZVkVSUUdBb0E0U0VnNElFQWdOVXRMTlFJQU5VdExOU0JBb0JJWkdSSVNHUmtCRXY0QUdpWW1Ha0FCZ0VBYUppWUM4QmhJU0JoTE5mNUFOVXRMTlFIQU5Vc1JHQkVSR0JnUkVSajlrU1lhQWNBYUpvQ0FKaHIrUUJvbUFBSUFjQUF3QTVBRFVBQW9BRUFBQUFFbk1EWTNQZ0VYTnlZM1BnRTNOakVXRng0QkZ4WVhEZ0VIRGdFbkJ4NEJGeFlHRHdFbkJ5YzNBUTRCSHdFSEpnWUhBVDRCTnpZbUp6Y3dGamNuTUFZeEFWbVZCZzhoY1RCbENSQVFMQlFVSlNRbFNTVWxKQVVMQlJwRkttb0JBUUlES0M4WW11a3Q2UUVJRVJvS0VLQXdZaE1CSVFJRUFoNEhCNW82Sk5vQkFVZVZKeFV0RHdsakhCMGRMZzhQSlNVa1NpVWtKUWNPQnlNdkIyY0pBUnN6WUJnTW11b3U2UUcyRGlZUEY1OE1BaDcrM3dJREFocFdMSm9SS3RrQkFBQUtBRC8vL3dQQkE0RUFKd0E3QUVjQVlRQm5BRzRBZXdDR0FJd0FrZ0FBQVI0QkZ4WVZGaFFIRkFjT0FRY0dJd1lpSnlJbkxnRW5KalVtTkRjME56NEJOell6TmpJWE1oTWhFUll6RmpZM05qYytBVGMyTno0Qkp6UW5BUlFXRlI0QkZ6SVdNelVqQVFjbk54NEJGd2NuRlE0QkJ5TVhCeWMzSGdFWEJ4WTJOelVGRkJZVk16VW5CaFFITXpVak55b0JJeUlHQnhRR0ZUTTFNeVVWTXpRbU5TNEJKeUltSlFZaUJ4VXpOeVlpSXhVekF5UStYQUlCQVFFQkFsdytTVWxKa2tsSlNUMWRBZ0VCQVFFQ1hENUpTVW1TU1Vtby9ibzlQVDE2UFQwOUpEVUNBZ0lCQVFFQy9Qd0JBalVrQ0JBSWZBSkJDUzVYRmlzV0xna0JYRDkzQ2k1V1Znd1dEQXRSZ2dIOXZBRitmUUVCZjMyL0dDNFhKVG9CQVh4Q0FjZDlBUUkxSkFnUS92TWhRU0NDd3lCQklZSURnQUpjUGtsSlNaSkpTVWsrWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDVjQWdFQkFmOEEvYndDQVFFQkFnSUNOU1E5UFR4NlBUMDgvandKRVFna05RSUJmZ0VXQ2k1V0ZTd1ZMZ3B6UDE4Q0NTNVhWd3dXREFvQkhVVnpWQ0ZBSUlIQ0lVQWhndjg0Smhnd0dVRi9md2tSQ1NRMUFnRUNBUUYvZ0FHQkFBQUNBS0FBWUFOZ0F5QUFEUUFiQUFBQklSVWhFU01SSVRVaEVUTWNBU2NSSVJVaEVUTVJJVFVoRVNvQkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQkFnQWlEQS93QUJBTUFCQUVDQWdQOEFRUDhBQVFCQUFRQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBZ0FBLzhBRUFBUEFBQnNBTndBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWpBQU1BQVAvQUJBQUR3QUFiQURjQVV3QUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellCRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXQWdCcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BkVVZKNkl5TWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VRR2RHUmxYT2p0Q1FqczZWeGtaR1JsWE9qdENRanM2VnhrWkE4QW9LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1NoQUl5TjZVbEZkWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qL2tCQ096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPd0FBQUFBQ0FIa0Frd09IQXUwQURnQVpBQUFKQVNjM0lUVWhKemNXRng0QkZ4WWxGeUVWSVFjWE55Y09BUU9IL3RLTlFQNXRBWk5BalNZbUpVd2xKdjdHZ1A0U0FlNkFNdFBUREJvQndQN1RqVURBUUkwbEppWkxKaVY2Z0VDQU05UFREUmtBQUFBQUFnQ0FBRUFEZ0FOQUFBNEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRWpCVGNYQnljM0Z4RXpFUU1yL2FwVk1pTUNWaU15VmY4QWJqelYxVHh1VmdIQS90VUJLLzdWSXpJeUl3RXJIVzQ4MWRVOGJnR2QvbU1BQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFGZUFLa0NvZ0xYQUFjQUFBRUhGd2NKQVI0QkFxTHA2UzMrNlFFWEN4Y0NxZW5wTGdFWEFSY01GZ0FCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUJBT2tCSGdNWEFtSUFDd0FBQVFjbkJ5Y0JGaGNlQVJjV0F4Y3U2ZWt1QVJjakl5SkdJeU1CU3kzcDZTMEJGeU1qSTBVakl3QUFBQUVBNlFEdUF4Y0NrZ0FIQUFBSkFTYzNGd0VlQVFNWC9vbTNMb2tCU1F3V0FtWCtpYmN0aVFGSkN4Y0FBUUZlQUtrQ29nTFhBQXdBQUFrQkp6Y25OeFlYSGdFWEZoY0NvdjdwTGVucExTTWpJMFVqSXlNQndQN3BMdW5wTGlNakkwWWlJeU1BQUFBQUFRREFBYUFEUUFIZ0FBTUFBQk1oRlNIQUFvRDlnQUhnUUFBQUFBRUE2UUVlQXhjQ1lnQUhBQUFKQWpjWE54NEJBeGYrNmY3cEx1bnBEQllDTmY3cEFSY3Q2ZWtMRndBQUFRQUFBQUVBQU55WTk5TmZEenoxQUFzRUFBQUFBQURaQ2UvRkFBQUFBTmtKNzhVQUFQL0FCQUFEd0FBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBQUFBRUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU53UUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQS9CQUFBVXdRQUFTa0VBQUNBQkFBQTFRUUFBQUFFQUFBQUJBQUFBQVFBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1RQkNBRWdBWTRCcWdIdUFpb0NYZ0o4QXA0Q3RBTUFBeUFEbUFQMEJBd0VLZ1RxQlpRRjhBWU9CbGdHK2dla0I4Z0g5Z2hBQ0dBSWVnaWNDTGdJMWdrQ0Nib0tEQXAwQzB3TGVndVFDK1lNWmd5WURNUU0yZ3p3RFE0TktnMUFEVjROYkEyQ0FBRUFBQUEzQUpNQURBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQU1BQUFBQVFBQUFBQUFBZ0FIQUkwQUFRQUFBQUFBQXdBTUFFVUFBUUFBQUFBQUJBQU1BS0lBQVFBQUFBQUFCUUFMQUNRQUFRQUFBQUFBQmdBTUFHa0FBUUFBQUFBQUNnQWFBTVlBQXdBQkJBa0FBUUFZQUF3QUF3QUJCQWtBQWdBT0FKUUFBd0FCQkFrQUF3QVlBRkVBQXdBQkJBa0FCQUFZQUs0QUF3QUJCQWtBQlFBV0FDOEFBd0FCQkFrQUJnQVlBSFVBQXdBQkJBa0FDZ0EwQU9CaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxV1pYSnphVzl1SURFdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREJoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFTWldkMWJHRnlBRklBWlFCbkFIVUFiQUJoQUhKaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJhbGhhbS1kYXJrIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gIGNvbG9yOiAjRjVGNUY1O1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMEIwRkY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmQzNDM2O1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzYsIDI0MCwgMjQxLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBCMEZGO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzNDI0MjQyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzFjMWYyMDtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDE2cHg7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC4yKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCAxNjYsIDI1NSwgMC41KTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjYsIDE3NywgNzQsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMTgycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzMyMzkzYztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC42NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICNGNUY1RjU7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoNjYsIDY2LCA2NiwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MDUwNTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgY29sb3I6ICNGNUY1RjU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMzQzOTNiO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTkxYTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICNlY2YwZjE7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBsaW5lLWhlaWdodDogMTZweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjMycHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjk4cHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxNnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkYgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiA4MCU7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoNjYsIDY2LCA2NiwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIHJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItY29sb3I6ICM1YzVjNWM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtaW4taGVpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgICAgbWluLWhlaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWNvbnRyYWN0ZWQge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBjb2xvcjogI0Y1RjVGNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgY29sb3I6ICNGNUY1RjU7XFxuICAgIHBhZGRpbmc6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBpbnB1dCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYzJlO1xcbiAgICBjb2xvcjogI0Y1RjVGNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2OyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wmc3L0dKQUFBQUY0QUFBYkJHaGxZV1FWTXlRSEFBQWNmQUFBQURab2FHVmhCOElEK0FBQUhMUUFBQUFrYUcxMGVOSUFJZ01BQUJ6WUFBQUEzR3h2WTJHN3BNSWVBQUFkdEFBQUFIQnRZWGh3QUVRQWxRQUFIaVFBQUFBZ2JtRnRaZENGS0dJQUFCNUVBQUFCd25CdmMzUUFBd0FBQUFBZ0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQURBRC8vL3dQQkE0RUFKd0JRQUhBQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l3RWpOU0VjQVJVZUFSY1dCZ2NPQVJVaE5UTVZJVFEyTno0Qkp5NEJKelVoQXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW4rQlNVNkFRRUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCQVFNQ05TUkpTRW1SU1VoSkFlQkEvd0FCZFJrUUNoZ25WZ0VBUVA2QUJoc3RaQ0F1WWdJQmdBT0FBbHcrU1VsSmtrbEpTVDVjQWdFQkFRRUNYRDVKU1VtU1NVbEpQbHdDQVFFQlFUZ21TRWxKa2tsSlNTUTFBZ01CQVFFQkF3STFKRWxKU3BKS1NVa2tOUUlEQVFFQi93QkFBUUVCSUVJckhFUVhJajBhUUlBbVRCZ25SeDhwUnpSRkFBRUFVd0FUQTYwRGJRQW5BQUFURndjbk54NEJGd2NoRVFjbk54NEJGd2NuRVNFbk54NEJGd2NuTnlFUk54NEJGd2NuTnhjUnpVb3VscFlNRmd4S0FSTkpMcGNtU3lZdVNRRVRTaTRsVENXV0xrcis3VWtNRmd5WGx5NUpBYUJKTHBlWERCWU1TUUVUU2k2V0pVd2xMa3IrN1VrdUprc21seTVKL3UxS0RCWU1scFl1U2dFVEFBQUJBU2tBbVFMWEF1Y0FDZ0FBQVFjbk54NEJGd2NuRVNNQjRJa3UxelpyTmk2SlFBSnNpUzNYTm1zMkxZbitMUUFEQUlBQVFBT0FBMEFBR3dBM0FFWUFBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyRXpjZUFSY0hGd2NuQnljM0p6Y1hBZ0JQUmtacEhoNGVIbWxHUms5UFJrWnBIaDRlSG1sR1JrOUNPenBYR1JrWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBLcERCWU1xcW91cWFrdXFxb3VxUU5BSGg1cFJrWlBUMFpHYVI0ZUhoNXBSa1pQVDBaR2FSNGVRQmtaVnpvN1FrSTdPbGNaR1JrWlZ6bzdRa0k3T2xjWkdmN3RxZ3dXREttcExxcXFMcW1wTHFvQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQURBQUQvd0FRQUE4QUFFQUFoQUNrQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZakV5RWlCaFVSRkJZeklUSTJOUkUwSmlNSEFTYzNGd0VlQVFOSS9YQk1iR3hNQXBCTWJHeE1BdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBQUFBd0FBLzhBRUFBUEFBQkFBSVFBbEFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZakF5RTFJUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMaVg5dGdKS1FHeE1BcEJNYkd4TS9YQk1iQU81UVMzOWJTNUFRQzRDa3kxQi9pSktBQUFBQWdBQS84QUVBQVBBQUJBQUlRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUl3TklUR3hzVFAxd1RHeHNUQUtRQXYxdExVRkJMUUtUTFVGQUxnUEFiRXo5Y0V4c2JFd0NrRXhzUjBFdC9XMHVRRUF1QXBNdFFRQUNBTUFBb0FIQUF1QUFDUUFQQUFBbElSRWhGQlVjQVJVVUF4RXpFU29CQWNEL0FBRUF3SUFnUUtBQ1FFaElTSkJJU0FHNC9rQUJ3QUFBQUFBRUFNQUFvQU5BQXVBQUF3QUhBQXNBRHdBQUpTTVJNeE1qRVRNVEl4RXpBU01STXdIQVFFREFRRURBUUVEOXdFQkFvQUpBL2NBQ1FQM0FBa0Q5d0FKQUFBQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBd0NnQUVBRFlBTkFBQkFBSUFBekFBQWxJeUltTlJFME5qc0JNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZQkl6d0JOUkUwTmpNaE9nRXpGU0VpQmhVUkFyNzdRMkJnUS90RFgxOURCZjc5SnpjM0p3RURKemMzL2ZkQlgwTUJtZ0VDQWY1ZEpqWkFYMFFCT2tOZ1lFUCt4a1JmQWtBNEp2NjdKemMzSndGRkpqaitBQUVFQWdJWFExOUFOaWI5M0FBQUFBQUJBU2tBNlFMWEFwY0FEZ0FBQVRjZUFSY0hGd2NuQnljM0p6Y1hBZ0NwREJZTXFxb3VxYWt1cXFvdXFRSHRxZ3dXREttcExxcXFMcW1wTHFvQUFBQUFCUUJBQUFBRHdBT0FBQ1VBTWdBL0FFc0FVUUFBQVQ0Qk5UUW1JeUlHRlJRV016STJOeGNITGdFaklnWVZGQll6TWpZMU5DWW5Od0V6TlFFSElpWTFORFl6TWhZVkZBWWpFU0ltTlRRMk16SVdGUlFHSXdFaUpqVTBOak15RmhVVUJna0JGd0UxSXdHV0NBaHBTa3BwYVVvVUpSRnBhUkVsRkVwcGFVcEthUWdJYWdFNmh2M1dveVUwTkNVbE5UVWxKVFEwSlNVMU5TVUJEUWtORFFrSkRRMEJNZjd6V1FFNmhnS0RFU1VVU21scFNrcHBDQWhxYWdnSWFVcEthV2xLRkNVUmFmN0hMUUlwRURVbEpUUTBKU1UxL2VjMEpTVTFOU1VsTkFGUURRa0pEUTBKQ1EwQnFmN3pXUUU1TFFBQUJ3Q0dBRllEZWdNcUFBc0FEd0FiQUNnQUxBQTRBRHdBQURjaUJoVVVGak15TmpVMEpnVTFJUlVESWdZVkZCWXpNalkxTkNZSE1oWVZGQVlqSWlZMU5EWXpCU0UxSVFFeUZoVVVCaU1pSmpVME5nVWhOU0hHR2lZbUdoc2xKUUtaL2VhYUdpWW1HaHNsSlJzU0dSa1NFUmtaRVFJSi9wRUJiLzMzR3lVbEd4b21KZ0xPL2VZQ0d0WW1HaHNsSlJzYUptdFZWUUdWSmhvYUppWWFHaVlWR1JJU0dSa1NFaGxXVmdFL0pSc2FKaVlhR3lWcVZRQUFBQUVCS1FDWkF0Y0M1d0FLQUFBQk54NEJGd2NuTnhjUk13SWdpUXdXRE5mWExvbEFBUlNKQ3hjTDE5Y3RpUUhUQUFFQlhnQ3BBcUlDMXdBTUFBQUpBU2MzSnpjV0Z4NEJGeFlYQXFMKzZTM3A2UzBqSXlORkl5TWpBY0QrNlM3cDZTNGpJeU5HSWlNakFBQUFBQVVBUXdCekE3MEREUUFzQUVvQWFBQnpBSDBBQUFFK0FUYzZBVE1XRng0QkZ4WVhNQVlIRGdFSEZ3Y25CZ2NHSmljbUp5NEJKeTRCSnpBMk56NEJOeWMzRndjT0FROEJGaGNlQVJjV056NEJOeWNPQVNNaUp5NEJKeVkxTkRZM0p3RStBVDhCSmljdUFTY21CdzRCQnhjK0FUTXlGeDRCRnhZVkZBWUhGd0VPQVJVVUZqTXlOamNuQlQ0Qk5UUW1JeUlHQndFcUwyZzJCd1FIU0VOQ2NpMHRHemt1RUNRVFBpMUxPVUJBZ0Q0OU5TbEVHUW9QQ2lVYkZ6Y2dQaTFLQ2pGT0dBRWROemVKVEV4SUN4WUtIUnhFSmk4b0tUMFNFUmNWTUFIQk1VMFlBUmduS0dVN096NHBVQ1VrSEVRbUxpa3BQUkVTR0JVcS9wME1EbDVDR0MwVDNnRUxEUTVlUWhrc0V3TEVGeHNDQWhnWFVqazRSSFl3RVI0TlBpMUxIQTBNQ0JVVkpoNUtMQkVpR0ZNa0h6WVdQaTFKVVNGWk53SkZOVFUvQndjWEJBZ0ZIUlVZRWhJOEtTa3VKa1FjTWY2WklWbzNBamd1TGtFU0VnRUJFeEVqRlJjUkVqMHBLQzhsUlJ3cUFRZ1RMQmxDWGc0TjNiQVRMUmhEWFE0TUFBUUFRd0NaQTcwQzlnQWtBRU1BWUFCekFBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFbkppY3VBU2N1QVNjd05qYzJOejRCTnpZM09nRXpCd1lIRGdFSEJnOEJGaGNlQVJjV056WTNQZ0UzTmo4QkppY3VBU2NtSXhjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZ6QTBNVFFtSXlJR0hRRVVGak15TmpVd05BSUpTRU5DY2kwdEd6a3VPazVPcUZOVVJTbEVHUW9QQ2lVYklDa3FZRFUxTndjRUJ4RTdPRGRnSnlZWUFSMDNONGxNVEVncUpTWkFHaG9TQVJnbktHVTdPejRJTFNnbk94RVNFaEU3SnlndExTZ25PeEVTRWhFN0p5Z3RvRjVDUWw1ZVFrSmVBdllDR0JkU09UaEVkakE5SXlRUUZSUXlIa29zRVNJWVV5UXJJeU15RGc0Q1FBSVNFMEF0TERZQ1JUVTFQd2NIRncwV0Zqc2pJeWdET0M0dFFoSVJIeEVST3ljb0xTMG9KenNTRVJFU095Y29MUzBvSnpzUkVkZ0JRbDVlUWdKQ1hsNUNBUUFBQUFBQ0FNQUFvQU5BQXdBQUhRQTdBQUFCQmdjT0FRY0dCdzRCSFFFSE5EWW5OQ1luSmljdUFTY21KelVoSEFFRkZCWVhGaGNlQVJjV0Z4VTNOVFkzUGdFM05qYytBVFVpSXlvQkl5SURRQUVXRlVFbEppQUVCTUFDQWdVRElTVW1RQllWQVFLQS9jQUVCQ0VsSmtBV0ZRRkFBUllWUVNVbUlBUUVRRUJBZ0VCQUFyb2dIeDgvSUNBaUJRc0dkWkJDZzBJR0NnUWlJU0pBSGg4ZFJoRWpEQWNPQmlJaElrQWVIeDJHTUZZZ0h4OC9JQ0FpQmc0SEFBQUFBZ0QxQUtrREN3TFhBQWNBQ3dBQUFRY1hCd2tCSGdFbEVTTVJBd3ZwNlMzKzZRRVhDeGYrTlVBQ3FlbnBMZ0VYQVJjTUZnditBQUlBQUFBQURBREFBTUFEUUFMQUFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBbEl6VXpGeU0xTXhjak5UTVhJelV6SlNNMU14Y2pOVE1YSXpVekZ5TTFNeVVqTlRNWEl6VXpGeU0xTXhjak5UTUJBRUJBd0VCQXdFQkF3RUJBL2NCQVFNQkFRTUJBUU1CQVFQM0FRRURBUUVEQVFFREFRRURBZ0lDQWdJQ0FnRUNBZ0lDQWdJQ0FRSUNBZ0lDQWdJQUFBQWdBUC8vL0E4RURnUUFuQUZBQVZBQllBRndBWUFCa0FHZ0FBQUVlQVJjV0ZSWVVCeFFIRGdFSEJpTUdJaWNpSnk0Qkp5WTFKalEzTkRjK0FUYzJNell5RnpJRklnWUhCZ2NPQVJjVUZ4NEJGeFlYRmpJM05qYytBVGMyTnpZMEp5WW5MZ0VuSmlNaUJnY0dJeE1qTlRNRklUVWhKU00xTXdVaE5TRWxJelV6QlNFMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTZUNBZ0FHQS9zQUJRUDZBZ0lBQmdQN0FBVUQrQUlDQUFnRCtRQUhBQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUZCT0NaSVNVbVNTVWxKSkRVQ0F3RUJBUUVEQWpVa1NVbEtra3BKU1NRMUFnTUJBUUg5NEVCQVFFQkFRRUJBUUVCQUFBQUFBQVFBUXdESUE3MEN1QUFrQUUwQVlBQndBQUFCRmhjZUFSY1dGekFHQndZSERnRUhCaWNtSnk0Qkp5WW5NRFkzTmpjK0FUYzJNem9CQnlJR0J3WUhEZ0VIQmdjd0ZoY1dGeDRCTnpZM05qYytBVGMyTnpBbUp5WW5MZ0VuSmlNcUFTTVhIZ0VWRkFZSERnRW5MZ0VuTkRZM1BnRXpCdzRCQndZV0Z4WTJOelltSnk0Qkl3SUpRRUpCZFM4d0hVSTdLUzh2WXpJeU1EczVPbVlwS1JsRlB5RWxKVTRvS0NjSEJBb05HUXd1TUM5Vkl5TVZIeDhxTkRSdk9EZ3hLaWdvU0IwZEVoOGZIaVVrVHlvcEtBWUVCaEpHaXhnWk1IdzBQR2NDR1J3a1Vqb1RJMGdXR3hvdlBZd2VHeUF3RnlBb0FyZ0JEQXc1THk5SWZTa2RFaEVSQVFFREJCQVBPeTB0UG9FcUZ3NFBFUVFFUUFFQkF3c0xLeUVoTGo4Y0tCVVZFUUlDQndZTkRTd2VIaWMvSFJ3VEVoUUZCQjBDUlZRZ1BSUW1CZ1VGVFVFaVFoWWFERUFCQ1JrZ1hBMFJCeVVpWEFzR0FnQUNBUFVBcVFNTEF0Y0FEQUFRQUFBSkFTYzNKemNXRng0QkZ4WVhFeU1STXdJNS91a3Q2ZWt0SXlNaVJpTWpJOUpBUUFIQS91a3U2ZWt1SXlNalJpSWpJLzhBQWdBQUFBQUNBSGtBa3dPSEF1MEFDd0FXQUFBQkJ5RVZJUmNIQ1FFZUFSY0ZGemNuSVRVaE55Y09BUUkwUUFHVC9tMUFqZjdTQVM0alJ5UCtvTk15Z0FIdS9oS0FNalZwQW1CQXdFQ05BUzBCTFNOSEk2RFRNNEJBZ0RNMWFRQUFBQWdBWUFBZ0E2QURZQUFEQUFrQUR3QVRBQmNBSFFBakFDY0FBQ1VqRVRNbkJ5YzNIZ0VGQnljM0hnRTNJVFVoQlNFMUlUY0hKemNlQVNVSEp6Y2VBUVVqRVRNQ0lFQkFjODB0elFzWEFhc3R6UzB6WjRiL0FBRUEvY0QvQUFFQVRTM05MVE5uQWRQTkxjMExGLzdlUUVBZ0FRQWd6UzNOQ3hlckxjMHRNMmZOUUVCQVlDM05MVE5uYmMwdHpRc1hpd0VBQUFBQ0FQRUFzUU1QQXM4QUJ3QU9BQUFUSHdFbk55Y0hKeVV2QVJjSEZ6ZnhBOTlIZEZOMVJ3SWVBOTlIZEZOMUFaUGZBMGQxVTNSSFd0OERSM1ZUZEFBQUF3REFBT0FEUUFLZ0FBTUFCd0FMQUFBbElUVWhOU0UxSVRVaE5TRURRUDJBQW9EOWdBS0EvWUFDZ09CQWdFQ0FRQUFBQUFJQXl3Q0tBelVDOWdBSEFBOEFBQ1V2QVJjSEZ6Y1hFeDhCSnpjbkJ5Y0IyZ1RlUjNSVGRVZE1CTjVIZEZOMVI3amVCRWgxVTNWSEFoRGVCRWgxVTNWSEFBQUFBZ0NBQVdBRGdBSWdBQVVBRHdBQUFTRTFJUndCSlJVaE5TSWpLZ0VqSWdPQS9RQURBUDFBQW9CUVVGQ2dVRkFCWU1Bd1lGQkFRQUFCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUNBRUFBb0FQQUF1QUFDZ0FXQUFBQk54NEJGd2NuTnhjUk13RWpFUWNuTng0QkZ3Y25FUUZCa0F3WERPRGdMNUJDQWNCQ2tDL2dPSEE0TDVBQkdJWUxGZ3ZTMGl5R0Fjajl3QUhJaGl6U05HazFMSWIrT0FBQUJnQjJBRUFEaXdOTEFCd0FNZ0JCQUZNQVlnQnVBQUFCRmhjZUFSY1dCd1lIRGdFbkppY21KeTRCTnpZM05qYytBVGMyRndjR0J3NEJCd1lYRmhjZUFUYzJOelluTGdFbkpnY1hGZ2NPQVFjR0p5NEJMd0VCSGdFQkZqYytBVGMyTnpZbUp3WUhEZ0VIQmdjVE1oWWZBUUVtSnlZMk56WTNPZ0VIQmdjT0FRY0dGd0V1QVFjQ0JtSlZWV3NPRFMwblRrMjNYVjVITHg0ZUZ3Z0lIQmtuSmw4M056a0tVMGRJV2dvTEp5aFRVN2xWVlMwbENnbFlTVWxjOHlNSUNFMUFRVTRjTkJnb0FZTUdDLzdZS0NrcVNSd2JEQWdCQ1NFZ0lVRWhJQ0ZESVVBZEtmNTlKUVVHTWpnNFdBUUtCakFxS2pjS0NnNEJCaEVpRWdOTEFqVTFwR1ZrWUZRM055VVZGRU1yT1RwK1FFQTZNaW9wT2hBUUFVQUJMUzJNVlZSUlV5MHRCQ29yWEV4VlZZOHZMZ0hOUUVwSmV5VW1DQUlSRFJZQmd3b1UvcTBNQlFVbklCOHBIajBkSUNFaFFTRWdJUUhXRVJBVy9ueEJTMHlDTGkwR1FBSVpHVTB3THk0QkJRVUZBUUFBQUFBREFJQUFNQU9BQTFBQUdnQW1BRG9BQUFFMEppTWlCaFVxQVNNaUJoVVJGQll6SVRJMk5SRTBKaU1xQVFjeUZoVVVCaU1pSmpVME5nRWhJaVkxRVRRMk93RVZJVFV6TWhZVkVSUUdBb0E0U0VnNElFQWdOVXRMTlFJQU5VdExOU0JBb0JJWkdSSVNHUmtCRXY0QUdpWW1Ha0FCZ0VBYUppWUM4QmhJU0JoTE5mNUFOVXRMTlFIQU5Vc1JHQkVSR0JnUkVSajlrU1lhQWNBYUpvQ0FKaHIrUUJvbUFBSUFjQUF3QTVBRFVBQW9BRUFBQUFFbk1EWTNQZ0VYTnlZM1BnRTNOakVXRng0QkZ4WVhEZ0VIRGdFbkJ4NEJGeFlHRHdFbkJ5YzNBUTRCSHdFSEpnWUhBVDRCTnpZbUp6Y3dGamNuTUFZeEFWbVZCZzhoY1RCbENSQVFMQlFVSlNRbFNTVWxKQVVMQlJwRkttb0JBUUlES0M4WW11a3Q2UUVJRVJvS0VLQXdZaE1CSVFJRUFoNEhCNW82Sk5vQkFVZVZKeFV0RHdsakhCMGRMZzhQSlNVa1NpVWtKUWNPQnlNdkIyY0pBUnN6WUJnTW11b3U2UUcyRGlZUEY1OE1BaDcrM3dJREFocFdMSm9SS3RrQkFBQUtBRC8vL3dQQkE0RUFKd0E3QUVjQVlRQm5BRzRBZXdDR0FJd0FrZ0FBQVI0QkZ4WVZGaFFIRkFjT0FRY0dJd1lpSnlJbkxnRW5KalVtTkRjME56NEJOell6TmpJWE1oTWhFUll6RmpZM05qYytBVGMyTno0Qkp6UW5BUlFXRlI0QkZ6SVdNelVqQVFjbk54NEJGd2NuRlE0QkJ5TVhCeWMzSGdFWEJ4WTJOelVGRkJZVk16VW5CaFFITXpVak55b0JJeUlHQnhRR0ZUTTFNeVVWTXpRbU5TNEJKeUltSlFZaUJ4VXpOeVlpSXhVekF5UStYQUlCQVFFQkFsdytTVWxKa2tsSlNUMWRBZ0VCQVFFQ1hENUpTVW1TU1Vtby9ibzlQVDE2UFQwOUpEVUNBZ0lCQVFFQy9Qd0JBalVrQ0JBSWZBSkJDUzVYRmlzV0xna0JYRDkzQ2k1V1Znd1dEQXRSZ2dIOXZBRitmUUVCZjMyL0dDNFhKVG9CQVh4Q0FjZDlBUUkxSkFnUS92TWhRU0NDd3lCQklZSURnQUpjUGtsSlNaSkpTVWsrWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDVjQWdFQkFmOEEvYndDQVFFQkFnSUNOU1E5UFR4NlBUMDgvandKRVFna05RSUJmZ0VXQ2k1V0ZTd1ZMZ3B6UDE4Q0NTNVhWd3dXREFvQkhVVnpWQ0ZBSUlIQ0lVQWhndjg0Smhnd0dVRi9md2tSQ1NRMUFnRUNBUUYvZ0FHQkFBQUNBS0FBWUFOZ0F5QUFEUUFiQUFBQklSVWhFU01SSVRVaEVUTWNBU2NSSVJVaEVUTVJJVFVoRVNvQkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQkFnQWlEQS93QUJBTUFCQUVDQWdQOEFRUDhBQVFCQUFRQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBZ0FBLzhBRUFBUEFBQnNBTndBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWpBQU1BQVAvQUJBQUR3QUFiQURjQVV3QUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellCRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXQWdCcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BkVVZKNkl5TWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VRR2RHUmxYT2p0Q1FqczZWeGtaR1JsWE9qdENRanM2VnhrWkE4QW9LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1NoQUl5TjZVbEZkWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qL2tCQ096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPd0FBQUFBQ0FIa0Frd09IQXUwQURnQVpBQUFKQVNjM0lUVWhKemNXRng0QkZ4WWxGeUVWSVFjWE55Y09BUU9IL3RLTlFQNXRBWk5BalNZbUpVd2xKdjdHZ1A0U0FlNkFNdFBUREJvQndQN1RqVURBUUkwbEppWkxKaVY2Z0VDQU05UFREUmtBQUFBQUFnQ0FBRUFEZ0FOQUFBNEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRWpCVGNYQnljM0Z4RXpFUU1yL2FwVk1pTUNWaU15VmY4QWJqelYxVHh1VmdIQS90VUJLLzdWSXpJeUl3RXJIVzQ4MWRVOGJnR2QvbU1BQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFGZUFLa0NvZ0xYQUFjQUFBRUhGd2NKQVI0QkFxTHA2UzMrNlFFWEN4Y0NxZW5wTGdFWEFSY01GZ0FCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUJBT2tCSGdNWEFtSUFDd0FBQVFjbkJ5Y0JGaGNlQVJjV0F4Y3U2ZWt1QVJjakl5SkdJeU1CU3kzcDZTMEJGeU1qSTBVakl3QUFBQUVBNlFEdUF4Y0NrZ0FIQUFBSkFTYzNGd0VlQVFNWC9vbTNMb2tCU1F3V0FtWCtpYmN0aVFGSkN4Y0FBUUZlQUtrQ29nTFhBQXdBQUFrQkp6Y25OeFlYSGdFWEZoY0NvdjdwTGVucExTTWpJMFVqSXlNQndQN3BMdW5wTGlNakkwWWlJeU1BQUFBQUFRREFBYUFEUUFIZ0FBTUFBQk1oRlNIQUFvRDlnQUhnUUFBQUFBRUE2UUVlQXhjQ1lnQUhBQUFKQWpjWE54NEJBeGYrNmY3cEx1bnBEQllDTmY3cEFSY3Q2ZWtMRndBQUFRQUFBQUVBQU55WTk5TmZEenoxQUFzRUFBQUFBQURaQ2UvRkFBQUFBTmtKNzhVQUFQL0FCQUFEd0FBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBQUFBRUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU53UUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQS9CQUFBVXdRQUFTa0VBQUNBQkFBQTFRUUFBQUFFQUFBQUJBQUFBQVFBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1RQkNBRWdBWTRCcWdIdUFpb0NYZ0o4QXA0Q3RBTUFBeUFEbUFQMEJBd0VLZ1RxQlpRRjhBWU9CbGdHK2dla0I4Z0g5Z2hBQ0dBSWVnaWNDTGdJMWdrQ0Nib0tEQXAwQzB3TGVndVFDK1lNWmd5WURNUU0yZ3p3RFE0TktnMUFEVjROYkEyQ0FBRUFBQUEzQUpNQURBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQU1BQUFBQVFBQUFBQUFBZ0FIQUkwQUFRQUFBQUFBQXdBTUFFVUFBUUFBQUFBQUJBQU1BS0lBQVFBQUFBQUFCUUFMQUNRQUFRQUFBQUFBQmdBTUFHa0FBUUFBQUFBQUNnQWFBTVlBQXdBQkJBa0FBUUFZQUF3QUF3QUJCQWtBQWdBT0FKUUFBd0FCQkFrQUF3QVlBRkVBQXdBQkJBa0FCQUFZQUs0QUF3QUJCQWtBQlFBV0FDOEFBd0FCQkFrQUJnQVlBSFVBQXdBQkJBa0FDZ0EwQU9CaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxV1pYSnphVzl1SURFdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREJoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFTWldkMWJHRnlBRklBWlFCbkFIVUFiQUJoQUhKaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJhbGhhbSB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6ICMwMDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGhlbWUtYmFsaGFtLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDkxRUE7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB3aGl0ZTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAqOmZvY3VzLCAuYWctdGhlbWUtYmFsaGFtICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzk1QTVBNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0OSwgMTY1LCAxNjYsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOTVBNUE2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTFFQTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQkRDM0M3JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNWY3Zjc7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2U0ZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDE4MnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlNGU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICMwMDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICMwMDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2UwZTI7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JkMGQzO1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNjYmQwZDM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBjb2xvcjogIzdGOEM4RDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjMycHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjk4cHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxNnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MUVBICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE4OSwgMTk1LCAxOTksIDAuNSk7XFxuICAgIGNvbnRlbnQ6IFxcXCIgXFxcIjtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdGV4dC1pbmRlbnQ6IC0yMDAwcHg7XFxuICAgIHRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIHJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItY29sb3I6ICNkOWRjZGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJvcmRlci1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgICAgbWluLWhlaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWljb24tZXhwYW5kZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgY29sb3I6ICMwMDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRldGFpbHMtcm93IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBwYWRkaW5nOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ibHVlIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzIyMjIyMjtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LCAuYWctdGhlbWUtYmx1ZSAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjYgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAqOmZvY3VzLCAuYWctdGhlbWUtYmx1ZSAqICo6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogZGFya3JlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgY29sb3I6IHdoaXRlO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZWJmNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzlCQzJFNiclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICMyMjIyMjI7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2RkZWJmNztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogIzIyMjIyMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE1NSwgMTk0LCAyMzAsIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICAgIGNvbG9yOiB3aGl0ZTtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc4M2M3OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlYmY3O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGxpZ2h0Z3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLW5hbWUtZmlsdGVyIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSBpbnB1dCxcXG4gIC5hZy10aGVtZS1ibHVlIHNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGNvbG9yOiAjMjIyMjIyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm5iOTB1NEFBQUY0QUFBVXFHaGxZV1FWTXlQZEFBQVdJQUFBQURab2FHVmhCOElEK0FBQUZsZ0FBQUFrYUcxMGVOSUFGK1lBQUJaOEFBQUEzR3h2WTJHU0lwY2tBQUFYV0FBQUFIQnRZWGh3QUVRQVd3QUFGOGdBQUFBZ2JtRnRaU2pHOVVzQUFCZm9BQUFCem5CdmMzUUFBd0FBQUFBWnVBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFEQUFBQVNFWEJ5RVZJUk1ESVJ3QkZRTksvcE41ZVFGdC9XemMzQUtVQXBYVjFhc0JnQUdBSzFVckFBQUFBQUVBQVAvQUJBQUR3QUFnQUFBQk5RY25OeGNISnhFaEp6Y1hCeWMzSVJFM0Z3Y25OeGNSSVJjSEp6Y1hCeUVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FBQUFBUUNXQUI0RGFnTmlBQThBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEVCcnJGbkFXb3RMaTFhTGkwdFo3Q2xBa0t4WndGcUxpMHRXeTB0TFdldy9kMENKQUFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWtBQ2dBTFFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakVRVXpGU01ETXhFakVRTi8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOW1sVlZBVlZWVmF0V1ZrSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQNnIvdFlCS29DcUFhcitWZ0dxQUFBQUFBTUFBZisrQS84RHdRQUlBQmtBS1FBQUNRRW5OeGNUSGdFWEV6SVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXlYKzZQMDFydWdTSmhKYU5VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZQXF6OS9zcERpd0dvQ2hRS0FSVkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBQURBQUgvdmdQL0E4RUFBd0FVQUNRQUFBRWhGU0VCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWUJWUUZXL3FvQ0tqVkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FJVnFnSldTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUFDQUFIL3ZnUC9BOEVBRUFBZ0FBQUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBSUFWUUFWQWFzRGF3QUVBQWdBQUFFUklSRWhFUlVoTlFHci9xb0JWdjZxQW12OXFnSldBUUNycXdBQUJnQlZBQlVEcXdOckFBTUFDQUFNQUJFQUZRQWFBQUFsRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCcS82cUExYitxZ0ZXL2dEK3FnTlcvcW9CVnY0QS9xb0RWdjZxQVZiQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUFBTUFBZisrQS84RHdRQVFBQ0FBSkFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXhVaE5RTi9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUF3Q3JBR3NEVlFNVkFBY0FDd0FSQUFBQk14RWhOU01SSVJNaEVTRUROU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFhdFYvcXNCQUFBQUFRQnVBQzREa2dOU0FBNEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FRSUFBUmtlUFI3KzV3RVplZjduL3VkNUFSbis1M2tCR1FJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYbis1d0FBQUFBREFIZ0ExUU9mQXVFQU9BQkdBRmdBQUFFMk56NEJOellYSGdFZkFRWUhEZ0VIQmdjV0Z4NEJGeFlYRGdFbkxnRW5EZ0VIQmljdUFTY21OejRCTnk0Qk56NEJGeDRCRng0QkZ3Y0dCdzRCQndZM1BnRTNNRFlISnlJR0J3NEJCd1lYSGdFWEZoYzNMZ0VqQWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQWNBTWdBbkE4NERXUUFMQUE4QUhBQWdBQzBBTVFBK0FBQTNJZ1lWRkJZek1qWTFOQ1lwQVJVaEFTSUdGUlFXTXpJMk5UUW1JeUVWSVRVSE1oWVZGQVlqSWlZMU5EWXpBUlVoTlNNeUZoVVVCaU1pSmpVME5qT2RMVDQrTFN3K1BnTUYvVlVDcS96UExUNCtMU3crUGl3RE1mMVZoaDRzTEI0ZkxDd2ZBekg5VllZc1BqNHNMVDQrTGZ3K0xDMCtQaTBzUHRVQ0JEOHNMRDgvTEN3LzF0WWdMQjhmTEN3Zkh5d0JUdFhWUGkwc1BqNHNMVDRBQUFBQkFKWUFJd05xQTEwQUN3QUFBUkU2QVRNUk54Y0pBVGNYQWE4cFVpbXdaLzZXL3BabnNnRkRBaHI5NTdCbi9wWUJhbWV4QUFBQUFBTUFBZisrQS84RHdRQVFBQ0FBTFFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQVRVekZUTVZJeFVqTlNNMU13Ti9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWS9ocXFxNnVxcTZzRHdVczEvUDAxUzBzMUF3TTFTMWNZRWZ6L0VSa1pFUU1CRVJqK3E2dXJxcXVycWdBQUFBQURBQ0lBZGdQZUF3b0FJZ0JIQUZFQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk53RStBVGN3SmljT0FRY0JLRFVuSUVJalNFSkNkelF6S3lwdlFEZERJUTcrekI0L0hnb1VDd0VMTldzeVVETHJLaVVsT2hRVUJ5TStHaVl4TW5NL1B6ODBMaTh2WHk4dkxpSWVIellaR0JjcmFqOEI0eTVNSUQ4NUN6NHNBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZoc0FBQUFEQUNJQW1RUGVBdWdBSEFBN0FFa0FBQUVXRng0QkZ4WVhCZ2NPQVNjbUp5WW5MZ0VuSmljMk56NEJOellYQlE0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp5VW1ORFVqRGdFSEZ6NEJOem9CQWdsSVFrSjNORE1yTzFWVnhXbHBZeUllSHpZWkdCY3FOVFI3UmtWTy92c2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRQzZBSVhGMDgyTmtCWFJVVklCUVE4RkJvYU9pRWdJVDgzTjFFWEZ3R3VHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFJQVZRQkFBNnNEUUFBR0FBc0FBQk1oQVJFbkVRRUJGVE0xSTFVRFZ2NnFxdjZxQVZhcXFnTkEvcXYrVmFzQkFBRlYvcXRXVmdBQUFnRHlBTUFERGdMQUFBTUFDUUFBQVJFakVRRW5OeWNKQVFGSFZRSWN4OGM1L3dBQkFBTEEvZ0FDQVA0NXg4YzUvd0QvQUFBQUFBQU1BS3YvNndOVkE1VUFBd0FJQUF3QUVBQVZBQmtBSFFBaUFDWUFLZ0F2QURNQUFEY3pGU01sTXhVak5TRXpGU01CTXhVakpUTVZJelVoTXhVakFUTVZJeVV6RlNNMUlUTVZJd0V6RlNNbE14VWpOUVVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcXFxb0FBQVVBVmYvckE2c0RsUUFlQUNJQUp3QXJBQzhBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVUJJeFV6RVNNVk16VVJJeFV6SlNNVk13R3JxZ0ZXL3FxcXF3RlZBVmIrcXY2ckFWVUJWdjZxL2xaV0FWWUJxcXFxcXFxcXF2NEFxcW9EUUZYL0FGWldxbFgvQUZYL0FGYi9BRlVDVlFFQVZmMVZWUUdyVmxZQlZWVlZWUUFBQUFBREFCa0JFUVBuQXBNQUZnQXNBRHNBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSndjbU5EVWpEZ0VIRno0Qk56WXlNd0lJUGp3OGNqTTBMQ1JlZW5uL2ZIdGpKREU2T1g1RVF3RXRISUZTVW9FY0lUMGNBMHBlWHNWZlgwd0RIRDhpbVFFTFJJYzhKUzVtTVFvVUN3S1RBUXdNTFNFZ0t5UmROVFVQS2lsZkpESW5LRGNQRDRoSFhGeEhEaVlYQXo4Z0lRRWdIMEFDR0NnT0l4VXJGUUVRSGt3V0RRSUJBQUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWJBQ1VBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNRE16YzFKeU1IRlI0QkFsV2NlWnpkM1NkT0ozbWNxcHg1bk4zZG5Ia25UaWVxbkk1a1pJNWtHVElDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNmMnFaSTVrWkk0Wk1nQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXVBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRUhOeGMzRndjWEFUY0hGd2NYTndOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5NE9OSU1wODVuekFCdDBybE1hQTVvRUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdBQUFBQUFNQVZRQVZBNnNEYXdBREFBY0FDd0FBSlJVaE5RRVZJVFVCRlNFMUE2djhxZ05XL0tvRFZ2eXF3S3VyQVZXcXFnRldxNnNBQUFBQUJBQUIvNzREL3dQQkFBOEFId0FuQUM0QUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZRElTSUdGUkVVRmpNaE1qWTFFVFFtQVRjSEp3Y25OeWNCQnpjbk55Y0hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMXM1RWt5bnptZk1BRnNTZVF4bnptZlFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBQUFBQUFBUUNyQVdzRFZRSVZBQVFBQUJNaEZTRTFxd0txL1ZZQ0ZhcXFBQUVCWkFEQUFwd0N3QUFHQUFBbE55YzNDUUVuQVdUSHh6Z0JBUDhBT1BuSHh6bi9BUDhBT1FBQkFOTC8xZ011QTZvQUZBQUFBUWNuQVJZWEhnRVhGaGNISnhFM0Z3a0JOeGNSQWFWc1p3RXVKaVVtVENVbUptZHNiR2YrMHY3U1oyd0NnV3huQVM0bUpTWk1KU1ltWjJ6K2ZteG4vdElCTG1kc0FZSUFBQUFBQXdBQi83OEVBQVBDQUJzQUtnQTVBQUFCTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQlFFZUFUTXlOejRCTnpZMU5DWW5KeTRCSXlJSERnRUhCaFVVRmhjQkFnQnFYVjJMS0NrcEtJdGRYV3BxWFYyTEtDZ29LSXRkWFFHNy9hazJoa3BZVGs1MElTSXdLa28zaGtwWVRrNXpJaUV2S3dKWEE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NqNy9ha3FNQ0loZEU1TldVcUZOMG9xTUNFaWRFMU9XRXVHTmdKWEFBSUFxd0JBQTFVRFFBQU5BQ0FBQUFFaEZCVWNBUlVVRlNFUklUVXpGeU13TWpFVklUVXpNQ01xQVNNaU1SRWhFUUpWQVFEOVZnRUFxcXVyVnY2cVZoc2JRQm9iQWdBQzYxWlZWYXRWVmxVQ3ExV3JxcXIrQUFJQUFBQUFBUUNyQUJVRFZRTVZBQThBQUFFakVSY2hDd0VoTnpVekVTTTFJUlVEQUZXcS93QlZWZjhBcWxhckFnQUN3UDZyVnY4QUFRQldWUUVBVlZVQUJRQUIvNzREL3dQQkFBOEFIZ0FsQURvQVFRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRTFJeUlHRlJFVUZqc0JFU00xTXdVaEVTRXlOalVEQnljM0hnRVhCeWNWSXhjSEp6Y2VBUmNITXpVVElSVWhOVFFtQTMvOUFqVkxTelVDL2pWTFMvMU1naEVZR0JHQ3E2c0NxZjJzQWlzUkdQNE5QSE1kT2gwOURNUU5QWE56RUI0UERXL1YvZFVDVkJoQ1N6VURBelZMU3pYOC9UVkxBd0txR0JIOC94RVpBbFZWVmYyckdSRUJSQTA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUJBS3NBYXdOVkF4VUFEQUFBRXlFUk14RWhGU0VSSXhFaE5hc0JBS29CQVA4QXF2OEFBaFVCQVA4QXF2OEFBUUNxQUFBQUFRRmtBTUFDbkFMQUFBVUFBQ1VuTnljSkFRS2N4OGM0L3dBQkFQbkh4em4vQVA4QUFBQUFBQUlBQWYrL0JBQUR3Z0FiQURjQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJBZ0JxWFYyTEtDZ29LSXRkWFdwcVhWMkxLQ2twS0l0ZFhXcFlUazUwSVNJaUlYUk9UbGhZVGs1eklpRWhJbk5PVGdQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFEQUFIL3Z3UUFBOElBSEFBNEFGUUFBQUVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNeUZ4NEJGeFlWQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZREFCUVVSUzh2TlRVdkxrWVVGQlFVUmk0dk5UVXZMMFVVRlA4QWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNEJ3VFV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RSUJLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBQUFRQkxBRllEdFFNcUFBOEFBQUVuTnhZWEhnRVhGaGNCSnpjaE5TRUNrcTVuTFMwdFd5MHRMdjZXWjYzOXVnSkhBaFd1WnkwdExsb3RMaTMrbG1ldHF3QUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUNyQVJVRFZRSnJBQU1BQUJNaENRR3JBcXIrcS82ckFtditxZ0ZXQUFBQkFWVUFhd0tyQXhVQUF3QUFDUUVSQVFGVkFWYitxZ0hBQVZYOVZnRlZBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBUlVEVlFKckFBTUFBQk1KQVNHckFWVUJWZjFXQVJVQlZ2NnFBQUFCQUVRQVpnTzhBeHNBQ0FBQUNRSTNGd0VlQVJjRHZQM0Uvc1I0eEFIRUhqd2VBcUw5eEFFOGVNTUJ3eDQ4SGdBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdGckExVUNGUUFFQUFBVElSVWhOYXNDcXYxV0FoV3FxZ0FCQUtzQkZRTlZBbXNBQXdBQUV5RUpBYXNDcXY2ci9xc0NhLzZxQVZZQUFBRUFBQUFCQUFDdkhJY0RYdzg4OVFBTEJBQUFBQUFBMlFudnNBQUFBQURaQ2Urd0FBRC92Z1FBQThJQUFBQUlBQUlBQUFBQUFBQUFBUUFBQThEL3dBQUFCQUFBQUFBQUJBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFEY0VBQUFBQUFBQUFBQUFBQUFDQUFBQUJBQUF0Z1FBQUFBRUFBQ1dCQUFCQUFRQUFBRUVBQUFCQkFBQUFRUUFBQUVFQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNkFIUUFsZ0N3QVBvQlBnRjZBYTRCeEFIMkFqQUNWQUo4QXdvRFpnT0NBOFlFU2dUQUJOd0UrQVZLQlpRRjlnWVNCaTRHYWdhNEJ0UUhJZ2N3QjBRSGNBZk1CL29JR0FoOENKWUlxZ2tBQ1lBSm9nbk9DZDRKN2duK0NnNEtKZ28yQ2tRS1ZBQUJBQUFBTndCWkFBd0FBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEUUFBQUFFQUFBQUFBQUlBQndDV0FBRUFBQUFBQUFNQURRQklBQUVBQUFBQUFBUUFEUUNyQUFFQUFBQUFBQVVBQ3dBbkFBRUFBQUFBQUFZQURRQnZBQUVBQUFBQUFBb0FHZ0RTQUFNQUFRUUpBQUVBR2dBTkFBTUFBUVFKQUFJQURnQ2RBQU1BQVFRSkFBTUFHZ0JWQUFNQUFRUUpBQVFBR2dDNEFBTUFBUVFKQUFVQUZnQXlBQU1BQVFRSkFBWUFHZ0I4QUFNQUFRUUpBQW9BTkFEc1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpWbVZ5YzJsdmJpQXhMakFBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVW1WbmRXeGhjZ0JTQUdVQVp3QjFBR3dBWVFCeVlXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpSbTl1ZENCblpXNWxjbUYwWldRZ1lua2dTV052VFc5dmJpNEFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYm9vdHN0cmFwIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogYmxhY2s7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwICo6Zm9jdXMsIC5hZy10aGVtZS1ib290c3RyYXAgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1kYXJrIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gIGNvbG9yOiAjY2NjO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUsIC5hZy10aGVtZS1kYXJrIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMDJlMmUgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWRhcmsgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCBncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBncmVlbnllbGxvdzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IHJlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjaG9jb2xhdGU7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgY29sb3I6ICNjY2NjY2M7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQwM2UzZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNWQ1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQTlBOUE5JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTM1LCAxNjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxNjAsIDEwMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC43KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjgpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgd2lkdGg6IDIwMHB4O1xcbiAgICBoZWlnaHQ6IDE2Mi41cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI2NjYztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE2OSwgMTY5LCAxNjksIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NDk0OTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTUxNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICNkNmQ1ZDU7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzQwM2UzZTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGxpZ2h0Z3JlZW47IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dFtyZWFkb25seV0ge1xcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm5iOTB1NEFBQUY0QUFBVXFHaGxZV1FWTXlQZEFBQVdJQUFBQURab2FHVmhCOElEK0FBQUZsZ0FBQUFrYUcxMGVOSUFGK1lBQUJaOEFBQUEzR3h2WTJHU0lwY2tBQUFYV0FBQUFIQnRZWGh3QUVRQVd3QUFGOGdBQUFBZ2JtRnRaU2pHOVVzQUFCZm9BQUFCem5CdmMzUUFBd0FBQUFBWnVBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFEQUFBQVNFWEJ5RVZJUk1ESVJ3QkZRTksvcE41ZVFGdC9XemMzQUtVQXBYVjFhc0JnQUdBSzFVckFBQUFBQUVBQVAvQUJBQUR3QUFnQUFBQk5RY25OeGNISnhFaEp6Y1hCeWMzSVJFM0Z3Y25OeGNSSVJjSEp6Y1hCeUVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FBQUFBUUNXQUI0RGFnTmlBQThBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEVCcnJGbkFXb3RMaTFhTGkwdFo3Q2xBa0t4WndGcUxpMHRXeTB0TFdldy9kMENKQUFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWtBQ2dBTFFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakVRVXpGU01ETXhFakVRTi8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOW1sVlZBVlZWVmF0V1ZrSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQNnIvdFlCS29DcUFhcitWZ0dxQUFBQUFBTUFBZisrQS84RHdRQUlBQmtBS1FBQUNRRW5OeGNUSGdFWEV6SVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXlYKzZQMDFydWdTSmhKYU5VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZQXF6OS9zcERpd0dvQ2hRS0FSVkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBQURBQUgvdmdQL0E4RUFBd0FVQUNRQUFBRWhGU0VCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWUJWUUZXL3FvQ0tqVkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FJVnFnSldTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUFDQUFIL3ZnUC9BOEVBRUFBZ0FBQUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBSUFWUUFWQWFzRGF3QUVBQWdBQUFFUklSRWhFUlVoTlFHci9xb0JWdjZxQW12OXFnSldBUUNycXdBQUJnQlZBQlVEcXdOckFBTUFDQUFNQUJFQUZRQWFBQUFsRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCcS82cUExYitxZ0ZXL2dEK3FnTlcvcW9CVnY0QS9xb0RWdjZxQVZiQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUFBTUFBZisrQS84RHdRQVFBQ0FBSkFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXhVaE5RTi9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUF3Q3JBR3NEVlFNVkFBY0FDd0FSQUFBQk14RWhOU01SSVJNaEVTRUROU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFhdFYvcXNCQUFBQUFRQnVBQzREa2dOU0FBNEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FRSUFBUmtlUFI3KzV3RVplZjduL3VkNUFSbis1M2tCR1FJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYbis1d0FBQUFBREFIZ0ExUU9mQXVFQU9BQkdBRmdBQUFFMk56NEJOellYSGdFZkFRWUhEZ0VIQmdjV0Z4NEJGeFlYRGdFbkxnRW5EZ0VIQmljdUFTY21OejRCTnk0Qk56NEJGeDRCRng0QkZ3Y0dCdzRCQndZM1BnRTNNRFlISnlJR0J3NEJCd1lYSGdFWEZoYzNMZ0VqQWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQWNBTWdBbkE4NERXUUFMQUE4QUhBQWdBQzBBTVFBK0FBQTNJZ1lWRkJZek1qWTFOQ1lwQVJVaEFTSUdGUlFXTXpJMk5UUW1JeUVWSVRVSE1oWVZGQVlqSWlZMU5EWXpBUlVoTlNNeUZoVVVCaU1pSmpVME5qT2RMVDQrTFN3K1BnTUYvVlVDcS96UExUNCtMU3crUGl3RE1mMVZoaDRzTEI0ZkxDd2ZBekg5VllZc1BqNHNMVDQrTGZ3K0xDMCtQaTBzUHRVQ0JEOHNMRDgvTEN3LzF0WWdMQjhmTEN3Zkh5d0JUdFhWUGkwc1BqNHNMVDRBQUFBQkFKWUFJd05xQTEwQUN3QUFBUkU2QVRNUk54Y0pBVGNYQWE4cFVpbXdaLzZXL3BabnNnRkRBaHI5NTdCbi9wWUJhbWV4QUFBQUFBTUFBZisrQS84RHdRQVFBQ0FBTFFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQVRVekZUTVZJeFVqTlNNMU13Ti9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWS9ocXFxNnVxcTZzRHdVczEvUDAxUzBzMUF3TTFTMWNZRWZ6L0VSa1pFUU1CRVJqK3E2dXJxcXVycWdBQUFBQURBQ0lBZGdQZUF3b0FJZ0JIQUZFQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk53RStBVGN3SmljT0FRY0JLRFVuSUVJalNFSkNkelF6S3lwdlFEZERJUTcrekI0L0hnb1VDd0VMTldzeVVETHJLaVVsT2hRVUJ5TStHaVl4TW5NL1B6ODBMaTh2WHk4dkxpSWVIellaR0JjcmFqOEI0eTVNSUQ4NUN6NHNBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZoc0FBQUFEQUNJQW1RUGVBdWdBSEFBN0FFa0FBQUVXRng0QkZ4WVhCZ2NPQVNjbUp5WW5MZ0VuSmljMk56NEJOellYQlE0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp5VW1ORFVqRGdFSEZ6NEJOem9CQWdsSVFrSjNORE1yTzFWVnhXbHBZeUllSHpZWkdCY3FOVFI3UmtWTy92c2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRQzZBSVhGMDgyTmtCWFJVVklCUVE4RkJvYU9pRWdJVDgzTjFFWEZ3R3VHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFJQVZRQkFBNnNEUUFBR0FBc0FBQk1oQVJFbkVRRUJGVE0xSTFVRFZ2NnFxdjZxQVZhcXFnTkEvcXYrVmFzQkFBRlYvcXRXVmdBQUFnRHlBTUFERGdMQUFBTUFDUUFBQVJFakVRRW5OeWNKQVFGSFZRSWN4OGM1L3dBQkFBTEEvZ0FDQVA0NXg4YzUvd0QvQUFBQUFBQU1BS3YvNndOVkE1VUFBd0FJQUF3QUVBQVZBQmtBSFFBaUFDWUFLZ0F2QURNQUFEY3pGU01sTXhVak5TRXpGU01CTXhVakpUTVZJelVoTXhVakFUTVZJeVV6RlNNMUlUTVZJd0V6RlNNbE14VWpOUVVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcXFxb0FBQVVBVmYvckE2c0RsUUFlQUNJQUp3QXJBQzhBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVUJJeFV6RVNNVk16VVJJeFV6SlNNVk13R3JxZ0ZXL3FxcXF3RlZBVmIrcXY2ckFWVUJWdjZxL2xaV0FWWUJxcXFxcXFxcXF2NEFxcW9EUUZYL0FGWldxbFgvQUZYL0FGYi9BRlVDVlFFQVZmMVZWUUdyVmxZQlZWVlZWUUFBQUFBREFCa0JFUVBuQXBNQUZnQXNBRHNBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSndjbU5EVWpEZ0VIRno0Qk56WXlNd0lJUGp3OGNqTTBMQ1JlZW5uL2ZIdGpKREU2T1g1RVF3RXRISUZTVW9FY0lUMGNBMHBlWHNWZlgwd0RIRDhpbVFFTFJJYzhKUzVtTVFvVUN3S1RBUXdNTFNFZ0t5UmROVFVQS2lsZkpESW5LRGNQRDRoSFhGeEhEaVlYQXo4Z0lRRWdIMEFDR0NnT0l4VXJGUUVRSGt3V0RRSUJBQUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWJBQ1VBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNRE16YzFKeU1IRlI0QkFsV2NlWnpkM1NkT0ozbWNxcHg1bk4zZG5Ia25UaWVxbkk1a1pJNWtHVElDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNmMnFaSTVrWkk0Wk1nQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXVBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRUhOeGMzRndjWEFUY0hGd2NYTndOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5NE9OSU1wODVuekFCdDBybE1hQTVvRUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdBQUFBQUFNQVZRQVZBNnNEYXdBREFBY0FDd0FBSlJVaE5RRVZJVFVCRlNFMUE2djhxZ05XL0tvRFZ2eXF3S3VyQVZXcXFnRldxNnNBQUFBQUJBQUIvNzREL3dQQkFBOEFId0FuQUM0QUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZRElTSUdGUkVVRmpNaE1qWTFFVFFtQVRjSEp3Y25OeWNCQnpjbk55Y0hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMXM1RWt5bnptZk1BRnNTZVF4bnptZlFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBQUFBQUFBUUNyQVdzRFZRSVZBQVFBQUJNaEZTRTFxd0txL1ZZQ0ZhcXFBQUVCWkFEQUFwd0N3QUFHQUFBbE55YzNDUUVuQVdUSHh6Z0JBUDhBT1BuSHh6bi9BUDhBT1FBQkFOTC8xZ011QTZvQUZBQUFBUWNuQVJZWEhnRVhGaGNISnhFM0Z3a0JOeGNSQWFWc1p3RXVKaVVtVENVbUptZHNiR2YrMHY3U1oyd0NnV3huQVM0bUpTWk1KU1ltWjJ6K2ZteG4vdElCTG1kc0FZSUFBQUFBQXdBQi83OEVBQVBDQUJzQUtnQTVBQUFCTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQlFFZUFUTXlOejRCTnpZMU5DWW5KeTRCSXlJSERnRUhCaFVVRmhjQkFnQnFYVjJMS0NrcEtJdGRYV3BxWFYyTEtDZ29LSXRkWFFHNy9hazJoa3BZVGs1MElTSXdLa28zaGtwWVRrNXpJaUV2S3dKWEE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NqNy9ha3FNQ0loZEU1TldVcUZOMG9xTUNFaWRFMU9XRXVHTmdKWEFBSUFxd0JBQTFVRFFBQU5BQ0FBQUFFaEZCVWNBUlVVRlNFUklUVXpGeU13TWpFVklUVXpNQ01xQVNNaU1SRWhFUUpWQVFEOVZnRUFxcXVyVnY2cVZoc2JRQm9iQWdBQzYxWlZWYXRWVmxVQ3ExV3JxcXIrQUFJQUFBQUFBUUNyQUJVRFZRTVZBQThBQUFFakVSY2hDd0VoTnpVekVTTTFJUlVEQUZXcS93QlZWZjhBcWxhckFnQUN3UDZyVnY4QUFRQldWUUVBVlZVQUJRQUIvNzREL3dQQkFBOEFIZ0FsQURvQVFRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRTFJeUlHRlJFVUZqc0JFU00xTXdVaEVTRXlOalVEQnljM0hnRVhCeWNWSXhjSEp6Y2VBUmNITXpVVElSVWhOVFFtQTMvOUFqVkxTelVDL2pWTFMvMU1naEVZR0JHQ3E2c0NxZjJzQWlzUkdQNE5QSE1kT2gwOURNUU5QWE56RUI0UERXL1YvZFVDVkJoQ1N6VURBelZMU3pYOC9UVkxBd0txR0JIOC94RVpBbFZWVmYyckdSRUJSQTA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUJBS3NBYXdOVkF4VUFEQUFBRXlFUk14RWhGU0VSSXhFaE5hc0JBS29CQVA4QXF2OEFBaFVCQVA4QXF2OEFBUUNxQUFBQUFRRmtBTUFDbkFMQUFBVUFBQ1VuTnljSkFRS2N4OGM0L3dBQkFQbkh4em4vQVA4QUFBQUFBQUlBQWYrL0JBQUR3Z0FiQURjQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJBZ0JxWFYyTEtDZ29LSXRkWFdwcVhWMkxLQ2twS0l0ZFhXcFlUazUwSVNJaUlYUk9UbGhZVGs1eklpRWhJbk5PVGdQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFEQUFIL3Z3UUFBOElBSEFBNEFGUUFBQUVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNeUZ4NEJGeFlWQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZREFCUVVSUzh2TlRVdkxrWVVGQlFVUmk0dk5UVXZMMFVVRlA4QWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNEJ3VFV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RSUJLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBQUFRQkxBRllEdFFNcUFBOEFBQUVuTnhZWEhnRVhGaGNCSnpjaE5TRUNrcTVuTFMwdFd5MHRMdjZXWjYzOXVnSkhBaFd1WnkwdExsb3RMaTMrbG1ldHF3QUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUNyQVJVRFZRSnJBQU1BQUJNaENRR3JBcXIrcS82ckFtditxZ0ZXQUFBQkFWVUFhd0tyQXhVQUF3QUFDUUVSQVFGVkFWYitxZ0hBQVZYOVZnRlZBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBUlVEVlFKckFBTUFBQk1KQVNHckFWVUJWZjFXQVJVQlZ2NnFBQUFCQUVRQVpnTzhBeHNBQ0FBQUNRSTNGd0VlQVJjRHZQM0Uvc1I0eEFIRUhqd2VBcUw5eEFFOGVNTUJ3eDQ4SGdBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdGckExVUNGUUFFQUFBVElSVWhOYXNDcXYxV0FoV3FxZ0FCQUtzQkZRTlZBbXNBQXdBQUV5RUpBYXNDcXY2ci9xc0NhLzZxQVZZQUFBRUFBQUFCQUFDdkhJY0RYdzg4OVFBTEJBQUFBQUFBMlFudnNBQUFBQURaQ2Urd0FBRC92Z1FBQThJQUFBQUlBQUlBQUFBQUFBQUFBUUFBQThEL3dBQUFCQUFBQUFBQUJBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFEY0VBQUFBQUFBQUFBQUFBQUFDQUFBQUJBQUF0Z1FBQUFBRUFBQ1dCQUFCQUFRQUFBRUVBQUFCQkFBQUFRUUFBQUVFQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNkFIUUFsZ0N3QVBvQlBnRjZBYTRCeEFIMkFqQUNWQUo4QXdvRFpnT0NBOFlFU2dUQUJOd0UrQVZLQlpRRjlnWVNCaTRHYWdhNEJ0UUhJZ2N3QjBRSGNBZk1CL29JR0FoOENKWUlxZ2tBQ1lBSm9nbk9DZDRKN2duK0NnNEtKZ28yQ2tRS1ZBQUJBQUFBTndCWkFBd0FBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEUUFBQUFFQUFBQUFBQUlBQndDV0FBRUFBQUFBQUFNQURRQklBQUVBQUFBQUFBUUFEUUNyQUFFQUFBQUFBQVVBQ3dBbkFBRUFBQUFBQUFZQURRQnZBQUVBQUFBQUFBb0FHZ0RTQUFNQUFRUUpBQUVBR2dBTkFBTUFBUVFKQUFJQURnQ2RBQU1BQVFRSkFBTUFHZ0JWQUFNQUFRUUpBQVFBR2dDNEFBTUFBUVFKQUFVQUZnQXlBQU1BQVFRSkFBWUFHZ0I4QUFNQUFRUUpBQW9BTkFEc1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpWbVZ5YzJsdmJpQXhMakFBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVW1WbmRXeGhjZ0JTQUdVQVp3QjFBR3dBWVFCeVlXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpSbTl1ZENCblpXNWxjbUYwWldRZ1lua2dTV052VFc5dmJpNEFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtZnJlc2gge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUsIC5hZy10aGVtZS1mcmVzaCAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAqOmZvY3VzLCAuYWctdGhlbWUtZnJlc2ggKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCBzaWx2ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCBzaWx2ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20od2hpdGUpLCB0byhsaWdodGdyZXkpKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlLCBsaWdodGdyZXkpO1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcm93Om5vdCguYWctcm93LWZpcnN0KSB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNBOUE5QTknJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xcbiAgICBsaW5lLWhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwIDhweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCAuYWctZG5kLWdob3N0LWljb24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSB7XFxuICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCB7XFxuICAgIG1hcmdpbjogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwge1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgxNjksIDE2OSwgMTY5LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRNYXRlcmlhbFxcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVptSUpIdXdBQUFGNEFBQVE3R2hsWVdRVStpT2pBQUFTWkFBQUFEWm9hR1ZoQjRrRCtBQUFFcHdBQUFBa2FHMTBlTklBSml3QUFCTEFBQUFBM0d4dlkyRjBKSGhDQUFBVG5BQUFBSEJ0WVhod0FFRUFXQUFBRkF3QUFBQWdibUZ0WldoMFBPVUFBQlFzQUFBQjJuQnZjM1FBQXdBQUFBQVdDQUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQVFBQWF3TUFBeFVBQ3dBQUFTRVZDUUVWSVRVaE55Y2hBd0QrQUFFVi91c0NBUDdWMXRZQkt3TVZWZjhBL3dCVmdOWFZBQUFBQUFRQU9mLzVBOGNEaHdBSEFBOEFGd0FmQUFBQk16VXpKd2N6RlFjak5RY1hOVE0xQlNjVkl4VXpGVGNGSXhVakZ6Y2pOUUdycW5MSHgzSTVjc2ZIY2dKVngzSnl4LzZPcW5MSHgzSUNUbkxIeDNJNWNzZkhjcXBWeDNLcWNzZU9jc2ZIY2dBQkFLc0Fhd05WQXhVQUNRQUFFeGMzRVRNUkZ6Y0pBYXM4N2xidVBQNnIvcXNCd0R6dS9ma0NCKzg5QVZYK3F3QUNBRlVBRlFPckEyc0FIQUFvQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUl4TUhKd2NuTnljM0Z6Y1hCd0lBV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVkxVHlabVR5Wm1UeVptVHlaQTJzaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5dkR5Wm1UeVptVHlabVR5WkFBQUFBd0RWQUpVREt3THJBQVFBQ1FBTkFBQVRNeEVqRVRjekVTTVJFek1SSTlXQWdPOTRlTzk0ZUFJMy9sNEJvclQ5cWdKVy9xci9BQUFDQUlBQVFBT0FBMEFBRHdBV0FBQUJJU0lHRlJFVUZqTWhNalkxRVRRbUFTYzNGd0VYQVFNci9hb2pNaklqQWxZak1qTCtYZFk4bWdGRVBQNkFBMEF5SS8ycUl6SXlJd0pXSXpMOXE5VThtUUZFUFA2QUFBQUFBZ0NBQUVBRGdBTkFBQThBRXdBQUFTRWlCaFVSRkJZeklUSTJOUkUwSmdNaE5TRURLLzJxSXpJeUl3SldJekl5ZWY1V0Fhb0RRRElqL2Fvak1qSWpBbFlqTXY1VlZnQUFBZ0NBQUVBRGdBTkFBQU1BRXdBQUFSRWhFU1VoSWdZVkVSUVdNeUV5TmpVUk5DWURLLzJxQWxiOXFpTXlNaU1DVmlNeU1nTHIvYW9DVmxVeUkvMnFJekl5SXdKV0l6SUFBZ0NyQUdzQlZRTVZBQU1BQndBQUpTTVJNelVWSXpVQlZhcXFxbXNCLzZ0WFZ3QUFDUUNyQUdzRFZRTVZBQU1BQ0FBTUFCQUFGUUFaQUI0QUlnQW1BQUFUTXpVakFUTTFJeFVoTXpVak5UTTFJd1V6TlNNVkFSVXpOUVV6TlNNVkFUTTFJeEV6TlNPcnFxb0JBS3FxL3dDcXFxcXFBUUNxcWdFQXF2NVdxcW9CQUtxcXFxb0NhNnI5VnFxcXFsYXFxcXFxQWFxcXFxcXFxdjhBcXY1V3FnQUFBQUFCQVdJQXdBS2VBc0FBQmdBQUFTY0pBVGNuTndLZVBQOEFBUUE4dzhNQ2hEei9BUDhBUE1URUFBQUFBQU1BYS8vckE1VURsUUFJQUJrQUhRQUFBU0VpQmhVUk14RWhGeUVpQmhVUkZCWXpJVEkyTlJFMEppTVJJUkVoQXNEK0FDTXlWUUlBZ1A0ckpESXlKQUhWSXpJeUkvNHJBZFVEbFRJai9hc0NWVlV5SlAyckl6SXlJd0pWSkRMOVZRSlZBQUFCQU5VQWxRTXJBdXNBREFBQUFTY0hKd2NYQnhjM0Z6Y25Od01yUE8vdlBPL3ZQTy92UE8vdkFxODg3Kzg4Nys4ODcrODg3KzhBQUFVQVZRQVZBNnNEYXdBbEFESUFQd0JMQUZFQUFBRStBVFUwSmlNaUJoVVVGak15TmpjWEJ5NEJJeUlHRlJRV016STJOVFFtSnpjQk16VUJCeUltTlRRMk16SVdGUlFHSXhFaUpqVTBOak15RmhVVUJpTUJJaVkxTkRZek1oWVZGQVlKQVJjQk5TTUJtd2dJWkVkSFpHUkhFeU1RWldVUUl4TkhaR1JIUjJRSUNHVUJLNEQ5OEpzak1qSWpJekl5SXlNeU1pTWpNaklqQVFBSkRBd0pDUXdNQVNML0FGVUJLNEFDZWhBakUwZGtaRWRIWkFnSVpXVUlDR1JIUjJSa1J4TWpFR1grMVNzQ0R3OHhKQ1F4TVNRa01mNEFNU1FrTVRFa0pERUJRQXdKQ1F3TUNRa01BWlgvQUZVQktpc0FBQWNBbHdDL0Eya0N3UUFNQUJBQUhRQWhBQzBBT2dBK0FBQVRJZ1lWRkJZek1qWTFOQ1lqQlRVaEZRTWlCaFVVRmpNeU5qVTBKaU1GSVRVaEJUSVdGUlFHSXlJbU5UUTJOeklXRlJRR0l5SW1OVFEyTXdVaE5TSENFaGtaRWhJWkdSSUNwLzNYZmhJWkdSSVNHUmtTQWRMK3JBRlUvaTRORXhNTkRSTVREUklaR1JJU0dSa1NBcWY5MXdJcEFSVVpFaEVhR2hFU0dWVldWZ0VyR1JJU0dSa1NFaGxWVlFzVERRMFRFdzBORStFYUVSSVpHUklSR2xaVkFBQUFBUUNyQUdzRFZRTVZBQWtBQUFFbkJ4RWpFU2NIQ1FFRFZUenVWdTQ4QVZVQlZRSEFQTzRDQi8zNTd6Mytxd0ZWQUFBQUFBRUJZZ0RBQXA0Q3dBQUdBQUFCQnhjSEZ3a0JBWjQ4dzhNOEFRRC9BQUxBUE1URVBBRUFBUUFBQUFBQUFRQ1RBTWNEYlFLNUFFY0FBQUV1QVNNaUJnY25QZ0V6TWhjZUFSY1dGdzRCQnljK0FUY2pEZ0VISnlNWERnRWpJaVluSXg0Qk16STJOeGNPQVNNaUp5NEJKeVluUGdFM0Z3NEJCek1uUGdFek1oWVhNd0tqQ2x3OUlqMFdUeXRqTmo0NU9WOGtKUlVZV0RsUEVoZ0ZSQVFOQ0N0UVJnUUpCU0kxQ1VRS1hENFRJeEJJSVVjbVBqazVYeVFsRlJNK0tGNEZCZ0tHS1Ewa0ZTSTBDVVFCM1RwUEdoZFBHUndURWtJdUxUYytaU0ZQRWkwYURCVUpLa1lCQVNrZk9sQUlDRWdORGhNU1FpNHROekJVSUY0S0ZBc3FEUkFvSHdBQUF3Q1RBTWNEYlFLNUFCd0FLQUExQUFBQklnY09BUWNHQnhZWEhnRVhGak15Tno0Qk56WTNKaWN1QVNjbUl4RWlKalUwTmpNeUZoVVVCZ01pQmhVVUZqTXlOalUwSmlNQ0FENDVPVjhrSlJVVkpTUmZPVGsrUGprNVh5UWxGUlVsSkY4NU9UNUZZV0ZGUldGaFJTazdPeWtwT3pzcEFya1RFa0l1TFRjM0xTNUNFaE1URWtJdUxUYzNMUzVDRWhQK1lXRkZSV0ZoUlVWaEFRbzdLU2s3T3lrcE93QURBSUFBd0FPQUFzQUFCQUFJQUF3QUFDVXpOU01WQVJVaE5RRWhOU0VCcTZxcS90VURBUDJBQWdEK0FNQlZWUUlBVlZYKzFWWUFBQUlBOXdEQUF3a0N3QUFGQUFvQUFDVW5OeWNKQVFFekVTTVJBd25FeER6L0FBRUEvaXBXVnZ6RXhEei9BUDhBQWdEK0FBSUFBQUFBQWdDckFVQURWUUpBQUFNQUNBQUFBU0VWSVFVaE5TRVZBMVg5VmdLcS9WWUNxdjFXQWtCVnExVlZBQUFHQUk0QXBBTnlBdHdBQmdBTEFCSUFGZ0FhQUNBQUFBRWhGQVlyQVRVbEZTRTFJU2N5RmhVaE5TRUJJelV6TlNNMU15Y2pORFl6RlFKVkFSMURMNnNCSGY3akFSMXlMMFArQUFHTy91Unljbkp5NUhKREx3RVZMMEp4NUhKeTQwSXZjZjNJY1hKeWNpOUNjUUFDQUpNQXh3TnRBcmtBSEFBb0FBQUJJZ2NPQVFjR0J4WVhIZ0VYRmpNeU56NEJOelkzSmljdUFTY21JeEVpSmpVME5qTXlGaFVVQmdJQVBqazVYeVFsRlJVbEpGODVPVDQrT1RsZkpDVVZGU1VrWHprNVBrVmhZVVZGWVdFQ3VSTVNRaTR0TnpjdExrSVNFeE1TUWk0dE56Y3RMa0lTRS81aFlVVkZZV0ZGUldFQUFBQUNBUGNBd0FNSkFzQUFCZ0FLQUFBVEZ3Y1hDUUVISlRNUkkvZkV4RHdCQVA4QVBBRzhWbFlDaE1URVBBRUFBUUE4UFA0QUFBQUFBQUVBcXdCckExVURGUUFKQUFBQklUY25DUUUzSnlFMUExWDkrZTg5L3FzQlZUenVBZ2NCNis0OC9xditxenp1VmdBQUFBQUNBT1FBcEFNY0F0d0FIQUFtQUFBQk54Y0hNeFVqSGdFWEJ5Y1ZJelVISnpjak5UTW5OeDRCRnpVekZRY3pOelVuSXdjVkhnRUNPV2hRYUpPVEdqUWFVR2h5YUZCb2s1Tm9VQm8wR25Kb1hrTkRYa01SSVFKSmFGQm9jaG8wR2xCb2s1Tm9VR2h5YUZBYU5CcVRrL3REWGtORFhoRWhBQUFCQUlBQzZ3T0FBMEFBQXdBQUV5RVZJWUFEQVAwQUEwQlZBQUFBQXdDQUFNQURnQUxBQUFNQUJ3QUxBQUEzSVRVaE5TRTFJVFVWSVRXQUF3RDlBQU1BL1FBREFNQlZnRmJWVlZVQUFRRUFBRUFEQUFDVkFBTUFBQ1VoRlNFQkFBSUEvZ0NWVlFBQUFBRUExUUdWQXlzQjZ3QUVBQUFUSVJVaE5kVUNWdjJxQWV0V1ZnQUJBV0lBd0FLZUFzQUFCZ0FBQVFjWEJ4Y0pBUUdlUE1QRFBBRUEvd0FDd0R6RXhEd0JBQUVBQUFBQUFBTUFnQURBQTRBQ3dBQURBQWNBQ3dBQU55RTFJUkVWSVRVQklUVWhnQUlBL2dBREFQMEFBd0Q5QU1CVkFhdFZWZjdWVmdBREFGVUFGUU9yQTJzQUhBQXFBRGtBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZakFUUTNQZ0UzTmpNeUZoY0JMZ0VCSWlZbkFSNEJGUlFIRGdFSEJpTUNBRmhPVG5RaElpSWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dQNnJHaHRkUGo1SE8yc3IvaUlpSmdGVk8yc3JBZDRpSmhvYlhUNCtSd05ySWlGMFRrNVlXRTVPZENFaUlpRjBUazVZV0U1T2RDRWkvbFZIUGo1ZEd4b21JdjRpSzJ2KzVpWWlBZDRyYXp0SFBqNWRHeG9BQUFNQWdQL3JBNEFEbFFBWEFDTUFLd0FBQVNNdUFTTWlCZ2NqSWdZVkVSUVdNeUV5TmpVUk5DWWpJVElXRlJRR0l5SW1OVFEyQVNFUk14VWhOVE1ESzdNTlFTb3FRUTJ6SXpJeUl3SldJekl5SS83VkVoa1pFaElaR1FFOS9hcFdBYXBXQTBBbE1EQWxNaVA5VlNNeU1pTUNxeU15R1JJUkdSa1JFaG45QUFLcmdJQUFBQUlBclFCdkExTURFUUFHQUJNQUFDVUhKemNlQVJjVEFRY25CeGNISnpjWE55YzNBV09PS0k0S0ZBcThBVFFmSHZjK1dQWllQWHNlSHYyT0tJNEtGQW9DRlA3TUhoNTdQVmoyV0Q3M0hoOEFDUUE1Ly9rRHh3T0hBQThBRXdBWUFDRUFKUUF1QURJQU5nQTZBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBU01WTXdFaEVTRVJCUWNYQnljM0hnRVhKeU1WTXlVSEp3Y25OeDRCRndFakZUTWxJeFV6TnlNVk13TlYvVll2UTBNdkFxb3ZRMFA5MGFxcUFnRCtPUUhIL3R4Q1FpbHBhUW9WQ3R5cXFnSDRLRUZDS0dvYU5ScitDS3FxQVIzazVPT3FxZ2RETHdLcUwwTkRMLzFXTDBNQkhLb0JqdjV5QVk3YlFrRW9hV29LRkFyYnF6RW9RVUVvYVJvMUdnR1dxcXFxcXFvQUFBRUExUUNWQXlzQzZ3QUxBQUFCSVJFakVTRTFJUkV6RVNFREsvOEFWdjhBQVFCV0FRQUJsZjhBQVFCV0FRRC9BQUFBQUFBQkFXSUF3QUtlQXNBQUJnQUFBU2NKQVRjbk53S2VQUDhBQVFBOHc4TUNoRHovQVA4QVBNVEVBQUFBQUFJQVZRQVZBNnNEYXdBY0FEZ0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqRVNJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZSUUhEZ0VIQmdJQVdFNU9kQ0VpSWlGMFRrNVlXRTVPZENFaUlpRjBUazVZUno0K1hSc2FHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNERheUloZEU1T1dGaE9UblFoSWlJaGRFNU9XRmhPVG5RaEl2MEFHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUFBQUFBd0JWQUJVRHF3TnJBQndBT1FCVkFBQUJJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JelVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqRVNJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZSUUhEZ0VIQmdJQUxDY25PaEVRRUJFNkp5Y3NMQ2NuT2hFUUVCRTZKeWNzV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlSejQrWFJzYUdodGRQajVIUno0K1hSc2FHaHRkUGo0Q2xSQVJPaWNuTEN3bkp6b1JFQkFST2ljbkxDd25Kem9SRU5ZaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5QUJvYlhUNCtSMGMrUGwwYkdob2JYVDQrUjBjK1BsMGJHZ0FBQUFFQXF3QnJBMVVERlFBSkFBQUJCeGNoRlNFSEZ3a0JBZ0E4N3YzNUFnZnVQQUZWL3FzREZUenVWdTQ4QVZVQlZRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUVyQVZVQzFRSXJBQU1BQUFFWE55RUJLOVhWL2xZQ0s5YldBQUVCbFFEckFtc0NsUUFEQUFBQkJ4Y1JBbXZXMWdLVjFkVUJxZ0FCQVpVQTZ3SnJBcFVBQXdBQUpUY25FUUdWMXRicjFkWCtWZ0FBQVFFckFWVUMxUUlyQUFNQUFBRTNGeUVCSzlYVi9sWUJWZGJXQUFFQWlRQ2lBM2NDM2dBRkFBQUJKd2NYQVNjQmQ3STg3Z0lBUEFFYnNqM3VBZ0E4QUFFQllnREFBcDRDd0FBR0FBQUJCeGNIRndrQkFaNDh3OE04QVFEL0FBTEFQTVRFUEFFQUFRQUFBQUFBQVFEVkFaVURLd0hyQUFRQUFCTWhGU0UxMVFKVy9hb0I2MVpXQUFFQkFBRWlBd0FDWGdBRkFBQUJCeWNIQ1FFQ3hNVEVQQUVBQVFBQ1hzUERQUDhBQVFBQUFBQUJBQUFBQVFBQWxwR2ZUVjhQUFBVQUN3UUFBQUFBQU5rSjc1TUFBQUFBMlFudmt3QUEvK3NEeHdPVkFBQUFDQUFDQUFBQUFBQUFBQUVBQUFQQS84QUFBQVFBQUFBQUFBUEhBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQTNCQUFBQUFBQUFBQUFBQUFBQWdBQUFBUUFBUUFFQUFBNUJBQUFxd1FBQUZVRUFBRFZCQUFBZ0FRQUFJQUVBQUNBQkFBQXF3UUFBS3NFQUFGaUJBQUFhd1FBQU5VRUFBQlZCQUFBbHdRQUFLc0VBQUZpQkFBQWt3UUFBSk1FQUFDQUJBQUE5d1FBQUtzRUFBQ09CQUFBa3dRQUFQY0VBQUNyQkFBQTVBUUFBSUFFQUFDQUJBQUJBQVFBQU5VRUFBRmlCQUFBZ0FRQUFGVUVBQUNBQkFBQXJRUUFBRGtFQUFEVkJBQUJZZ1FBQUZVRUFBQlZCQUFBcXdRQUFJQUVBQUVyQkFBQmxRUUFBWlVFQUFFckJBQUFpUVFBQVdJRUFBRFZCQUFCQUFBQUFBQUFDZ0FVQUI0QU9nQnNBSVFBeUFEa0FSQUJOQUZZQVdvQnFnSEFBZklDRGdLR0F1UUMvZ01VQTRBRDBnUHVCQW9FSUFSV0JKZ0V0QVRPQlFvRkdBVXdCVDRGVEFWaUJYd0YyZ1ljQmtRR3BnYkFCdFlITGdldUI4Z0g5QWdDQ0JBSUhnZ3NDRDRJVkFoaUNIWUFBUUFBQURjQVZnQUpBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQTRBQUFBQkFBQUFBQUFDQUFjQW53QUJBQUFBQUFBREFBNEFTd0FCQUFBQUFBQUVBQTRBdEFBQkFBQUFBQUFGQUFzQUtnQUJBQUFBQUFBR0FBNEFkUUFCQUFBQUFBQUtBQm9BM2dBREFBRUVDUUFCQUJ3QURnQURBQUVFQ1FBQ0FBNEFwZ0FEQUFFRUNRQURBQndBV1FBREFBRUVDUUFFQUJ3QXdnQURBQUVFQ1FBRkFCWUFOUUFEQUFFRUNRQUdBQndBZ3dBREFBRUVDUUFLQURRQStHRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkZabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNR0ZuUjNKcFpFMWhkR1Z5YVdGc0FHRUFad0JIQUhJQWFRQmtBRTBBWVFCMEFHVUFjZ0JwQUdFQWJHRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkZKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNtRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkVadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLW1hdGVyaWFsIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTNweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgKjpmb2N1cywgLmFnLXRoZW1lLW1hdGVyaWFsICogKjpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTUxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1MTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1OTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTcyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3MjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTExOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTg0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4NDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTg5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExOTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwNThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhY2MxO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiA0MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgb3V0bGluZTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZTJlMmUyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpob3ZlciwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWNvbHVtbi1yZXNpemluZykgKyAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctY29sdW1uLXJlc2l6aW5nLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWNvbHVtbi1yZXNpemluZykgKyAuYWctaGVhZGVyLWNlbGw6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlOmhvdmVyLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLmFnLWNvbHVtbi1yZXNpemluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogNDZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNmNTFiNTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICBtaW4td2lkdGg6IDM0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzE2cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjAxNnB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc4cHgnJTIweDIlM0QnMSclMjB5MiUzRCc4cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0UyRTJFMiclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAzNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgMTZweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2VlZTtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogOHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIHBhZGRpbmctdG9wOiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBjb2xvcjogIzNmNTFiNTtcXG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIHBhZGRpbmc6IDAgMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMThweDtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA4OCwgMjU1LCAwLjEpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4yKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC40KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC41KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDI0cHg7XFxuICAgIGhlaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAzMTJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA4cHggMCAyNHB4O1xcbiAgICAgIGhlaWdodDogNDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogNDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XFxuICAgIGhlaWdodDogNDhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgOHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDMycHg7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGhlaWdodDogMTQwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjYzEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICAgIHdpZHRoOiAyMnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMTZweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiAxNDRweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMjI2LCAyMjYsIDIyNiwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBoZWlnaHQ6IDU2cHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtc2l6ZTogMTFweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMThweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICNmZjQwODE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMjRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCI1NnB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiNDJweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCI0MHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCIxNDBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjI2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjQ4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiOHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE4cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmIHtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgZm9udC1zaXplOiAyNHB4O1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTRlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciB7XFxuICAgIGJvcmRlci1ib3R0b206IDA7XFxuICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgYm9yZGVyLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgYnV0dG9uIHtcXG4gICAgICBib3JkZXI6IDA7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgIG1hcmdpbi1yaWdodDogLTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4OyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiLypcXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxcbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxcbipcXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXFxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cXG4qL1xcblxcbi5ndy1hbGlnbm1lbnQtY2VsbC1yaWdodCxcXG4uZ3ctYWxpZ25tZW50LWNlbGwtcmlnaHQgLmFnLWNlbGwtdmFsdWUge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMTtcXG4gICAgICAgICAgICBmbGV4OiAxO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWNlbGwtY2VudGVyLFxcbi5ndy1hbGlnbm1lbnQtY2VsbC1jZW50ZXIgLmFnLWNlbGwtdmFsdWUge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICAgIGZsZXg6IDE7XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLXJpZ2h0IC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7ICAgIFxcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1jZW50ZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1yaWdodCAuYWctY2VsbC1sYWJlbC1jb250YWluZXIsXFxuLmd3LWFsaWdubWVudC1oZWFkZXItY2VudGVyIC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbn1cIiIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7XG59O1xuXG52YXIgZ2V0RWxlbWVudCA9IChmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW8gPSB7fTtcblxuXHRyZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFzc2luZyBmdW5jdGlvbiBpbiBvcHRpb25zLCB0aGVuIHVzZSBpdCBmb3IgcmVzb2x2ZSBcImhlYWRcIiBlbGVtZW50LlxuICAgICAgICAgICAgICAgIC8vIFVzZWZ1bCBmb3IgU2hhZG93IFJvb3Qgc3R5bGUgaS5lXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgaW5zZXJ0SW50bzogZnVuY3Rpb24gKCkgeyByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNmb29cIikuc2hhZG93Um9vdCB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0XHR2YXIgc3R5bGVUYXJnZXQgPSBnZXRUYXJnZXQuY2FsbCh0aGlzLCB0YXJnZXQpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuXHRcdFx0XHRcdC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcblx0XHRcdFx0fSBjYXRjaChlKSB7XG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcblx0XHR9XG5cdFx0cmV0dXJuIG1lbW9bdGFyZ2V0XVxuXHR9O1xufSkoKTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IHJlcXVpcmUoXCIuL3VybHNcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcbiAgICAgICAgaWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cbiIsIlxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvfFxccyokKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuIiwidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0aWYgKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XG5cdFx0bW9kdWxlLmRlcHJlY2F0ZSA9IGZ1bmN0aW9uKCkge307XG5cdFx0bW9kdWxlLnBhdGhzID0gW107XG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XG5cdFx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xuXHR9XG5cdHJldHVybiBtb2R1bGU7XG59O1xuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogU3RhcnQgY2VsbCBlZGl0aW5nXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtTdHJpbmd8bnVtYmVyfSByb3cgVGhlIHJvdyBpbmRleFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbEtleSBUaGUgY29sdW1uJ3Mga2V5XG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IGtleSAgS2V5IHByZXNzXG4gKiBAcGFyYW0ge1N0cmluZ30gY2hhciBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3N0YXJ0RWRpdGluZ0NlbGwoaWQsIHJvdywgY29sS2V5LCBrZXksIGNoYXIpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuc2V0Rm9jdXNlZENlbGwoTnVtYmVyKHJvdyksIGNvbEtleSk7XG4gIG9wdGlvbnMuYXBpLnN0YXJ0RWRpdGluZ0NlbGwoe1xuICAgIHJvd0luZGV4OiBOdW1iZXIocm93KSxcbiAgICBjb2xLZXk6IGNvbEtleSxcbiAgICBrZXlQcmVzczogTnVtYmVyKGtleSksXG4gICAgY2hhclByZXNzOiBjaGFyXG4gIH0pO1xufVxuXG4vKipcbiAqIFN0b3AgY2VsbCBlZGl0aW5nIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gY2FuY2VsIHdoZW4gdHJ1ZSBjYW5jZWwgZWRpdHMgLCBzYXZlIGVkaXRzIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc3RvcEVkaXRpbmcoaWQsIGNhbmNlbCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zdG9wRWRpdGluZyhjYW5jZWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZWRpdE5leHRDZWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnRhYlRvTmV4dENlbGwoKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19lZGl0UHJldmlvdXNDZWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnRhYlRvUHJldmlvdXNDZWxsKCk7XG59XG5cbi8qKlxuICogU2V0IEZvY3VzIG9uIHRoZSBnaXZlbiByb3cgYW5kIGNvbHVtblxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0gcm93IFRoZSByb3cncyBpbmRleC9pZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbiBUaGUgY29sdW1uIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRGb2N1c2VkQ2VsbChpZCwgcm93LCBjb2x1bW4pIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHIgPSAhcm93ID8gMCA6IChOdW1iZXIuaXNJbnRlZ2VyKCtyb3cpID8gK3JvdyA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocm93KS5yb3dJbmRleCk7XG4gIGNvbnN0IGMgPSBjb2x1bW4gPyBjb2x1bW4gOiBvcHRpb25zLmNvbHVtbkFwaS5nZXRBbGxHcmlkQ29sdW1ucygpWzBdLmNvbElkO1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRGb2N1c2VkQ2VsbChyLCBjKTtcbn0iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuY29uc3QgeyBkZWVwUGFyc2VKc29uIH0gPSByZXF1aXJlKFwiZGVlcC1wYXJzZS1qc29uXCIpO1xuXG4vKipcbiAqIEV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zXG4gKiBcbiAqIEV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zIHdpdGggb3B0aW9ucyB3aGljaCBjYW4gbm90IGJlIGhhbmRsZWQgaW4gQkJqXG4gKiAoZXg6IGF0dGFjaGluZyBjYWxsYmFja3MpXG4gKiBcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZGVmaW5pdGlvbnMpIHtcblxuICBmb3IgKGxldCBpIGluIGRlZmluaXRpb25zKSB7XG4gICAgY29uc3QgZGVmID0gZGVmaW5pdGlvbnNbaV07XG5cbiAgICBkZWYuY2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuY2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3g7XG4gICAgZGVmLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gZGVmLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uIHx8IGd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb247XG4gIH1cbn1cblxuLyoqXG4gKiBVcGRhdGUgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0FycmF5fSBkZWZpbml0aW9ucyBhcnJheSBvZiBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldENvbHVtbkRlZmluaXRpb25zKGlkLCBkZWZpbml0aW9ucykge1xuICBjb25zdCBncmlkID0gZ3dfZ2V0R3JpZChpZCk7XG4gIGNvbnN0IGRlZXBQYXJzZWREZWZpbml0aW9ucyA9IGRlZXBQYXJzZUpzb24oSlNPTi5zdHJpbmdpZnkoZGVmaW5pdGlvbnMpKTtcblxuICBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWVwUGFyc2VkRGVmaW5pdGlvbnMpO1xuXG4gIGdyaWQub3B0aW9ucy5hcGkuc2V0Q29sdW1uRGVmcyhkZWVwUGFyc2VkRGVmaW5pdGlvbnMpO1xuICBncmlkLm9wdGlvbnMuY29sdW1uRGVmcyA9IGRlZXBQYXJzZWREZWZpbml0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NpemVDb2x1bW5zVG9GaXQoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0VmlzaWJsZUNvbHVtbihpZCwgY29sdW1uSWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZW5zdXJlQ29sdW1uVmlzaWJsZShjb2x1bW5JZCk7XG59XG5cbi8qKlxuICogU2V0IENvbHVtbiBXaWR0aFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gd2lkdGggVGhlIG5ldyBjb2x1bW4gd2lkdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldENvbHVtbldpZHRoKGlkLCBjb2x1bW5JZCwgd2lkdGgpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuc2V0Q29sdW1uV2lkdGgoY29sdW1uSWQsIE51bWJlcih3aWR0aCkpO1xufVxuXG4vKipcbiAqIFBpbiBDb2x1bW5cbiAqXG4gKiBQaW4gYSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBkaXJlY3Rpb25cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5JZCBUaGUgY29sdW1uIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gcGluIFRoZSBwaW4gZGlyZWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19waW5Db2x1bW4oaWQsIGNvbHVtbklkLCBwaW4pIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuc2V0Q29sdW1uUGlubmVkKGNvbHVtbklkLCBwaW4pO1xufVxuXG4vKipcbiAqIE1vdmUgQ29sdW1uXG4gKlxuICogTW92ZSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBpbmRleFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gdG9JbmRleCBUaGUgbmV3IGNvbHVtbiBpbmRleFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfbW92ZUNvbHVtbihpZCwgY29sdW1uSWQsIHRvSW5kZXgpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAubW92ZUNvbHVtbihjb2x1bW5JZCwgdG9JbmRleCk7XG59XG5cbi8qKlxuICogU2hvdyAvIEhpZGUgc2VsZWN0aW9uIGNoZWNrYm94IGJhc2VkIG9uIHRoZSBmaXJzdCBjb2x1bW5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gbWFrZSBzdXJlIHRoYXQgdGhlIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3gocGFyYW0pIHtcbiAgaWYgKCFwYXJhbS5jb250ZXh0LnNob3dTZWxlY3Rpb25DaGVja2JveCkgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBwYXJhbS5jb2x1bW5BcGkuZ2V0QWxsRGlzcGxheWVkVmlydHVhbENvbHVtbnMoKTtcblxuICByZXR1cm4gY29sdW1uc1swXS5jb2xEZWYuZmllbGQgPT09IHBhcmFtLmNvbERlZi5maWVsZDtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBoZWFkZXIgc2VsZWN0aW9uIGNoZWNrYm94IGJhc2VkIG9uIHRoZSBmaXJzdCBjb2x1bW5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gbWFrZSBzdXJlIHRoYXQgdGhlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggaXMgYWx3YXlzIHNob3duIG9uIHRoZVxuICogZmlyc3QgY29sdW1uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtXG4gKlxuICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIGZpcnN0IGNvbHVtbiAsIGZhbHNlIGlmIG5vdCB0aGUgZmlyc3QgY29sdW1uIG9yIGlmIHRoZVxuICogICAgICAgICAgICAgICAgICAgZ3JpZCdzIGBDb250ZXh0LnNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveGAgaXMgZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24ocGFyYW0pIHtcbiAgY29uc3QgY29udGV4dCA9IHBhcmFtLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcblxuICBpZiAoIWNvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIEVuYWJsZSByb3cgZ3JvdXBpbmcgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc2V0ICBXaGVuIHRydWUgLCBgc2V0Um93R3JvdXBDb2x1bW5zYCB3aWxsIGJlIHVzZWQgLCBgYWRkUm93R3JvdXBDb2x1bW5zYCBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFJvd0dyb3VwQ29sdW1uKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlbc2V0ID8gXCJzZXRSb3dHcm91cENvbHVtbnNcIiA6IFwiYWRkUm93R3JvdXBDb2x1bW5zXCJdKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlUm93R3JvdXBDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFBpdm90TW9kZShpZCkge1xuICByZXR1cm4gZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuaXNQaXZvdE1vZGUoKTtcbn1cblxuLyoqXG4gKiBFbmFibGUgLyBkaXNiYWxlIHBpdm90IG1vZGUgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtCb29sZWFufSBtb2RlIHdoZW4gdHJ1ZSBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFBpdm90TW9kZShpZCwgbW9kZSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRQaXZvdE1vZGUoISFOdW1iZXIobW9kZSkpO1xufVxuXG4vKipcbiAqIEVuYWJsZSBwaXZvdCBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBhZGRQaXZvdENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBzZXRQaXZvdENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUGl2b3RDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlbc2V0ID8gXCJzZXRQaXZvdENvbHVtbnNcIiA6IFwiYWRkUGl2b3RDb2x1bW5zXCJdKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlUGl2b3RDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBFbmFibGUgdmFsdWUgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFZhbHVlQ29sdW1ucyhpZCwgY29sdW1ucywgc2V0KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLmFkZFZhbHVlQ29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbi8qKlxuICogRGlzYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnJlbW92ZVZhbHVlQ29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBVcGRhdGUgY29udGV4dCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ30ga2V5IFRoZSBjb250ZXh0J3Mga2V5IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtTdHJpbmd9IHZhbHVlICBUaGUgbmV3IGNvbnRleHQncyB2YWx1ZSBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3VwZGF0ZUNvbnRleHQoaWQsIGtleSwgdmFsdWUpIHtcblx0Z3dfZ2V0R3JpZChpZClcblx0XHQub3B0aW9uc1xuXHRcdC5jb250ZXh0W2tleV0gPSBKU09OLnBhcnNlKHZhbHVlKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbml0LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Jvd3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHBhbmVsLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzYmFyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vanNzLmpzJzsiLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuaW1wb3J0IHsgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMgfSBmcm9tIFwiLi9jb2x1bW5zXCI7XG5pbXBvcnQgeyBnd19uYXZpZ2F0ZVRvTmV4dFJvdyB9ICAgICAgIGZyb20gXCIuL3Jvd3NcIjtcbmltcG9ydCB7IGd3X2dldENvbnRleHRNZW51IH0gICAgICAgICAgZnJvbSBcIi4vbWVudXNcIjtcbmltcG9ydCB7IGd3X2dldERvY3VtZW50LCBnd19hZGRHcmlkfSAgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBnd19vblJvd0RvdWJsZUNsaWNrZWQsXG4gIGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pLFxuICAgICAgXCJjb21wb25lbnRzXCI6IHtcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIiAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc1JlbmRlcmVyLFxuICAgICAgICBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zRWRpdG9yICAsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNGaWx0ZXIgICxcbiAgICAgICAgXCJCYXNpY051bWJlcnNFZGl0b3JcIiAgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNOdW1iZXJzRWRpdG9yICAgLFxuICAgICAgICBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0RhdGVUaW1lc0VkaXRvciAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRmlsdGVyICxcbiAgICAgICAgXCJCYXNpY0ltYWdlc1JlbmRlcmVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNJbWFnZXNSZW5kZXJlciAgLFxuICAgICAgICAvLyBsb2Rhc2ggdGVtcGxhdGUgcmVuZGVyXG4gICAgICAgIFwiR1dDdXN0b21IVE1MVGVtcGxhdGVSZW5kZXJlclwiOiBwYXJhbXMgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbXBpbGVkID0gdGVtcGxhdGUocGFyYW1zLl9fVEVNUExBVEVfXyk7XG4gICAgICAgICAgcmV0dXJuIGNvbXBpbGVkKHsgcGFyYW1zOiBwYXJhbXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgaWYgKFxuICAgIGZpbmFsT3B0aW9ucy5jb250ZXh0Lmhhc093blByb3BlcnR5KFwibmF2aWdhdGVUb05leHRDZWxsXCIpICYmXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQubmF2aWdhdGVUb05leHRDZWxsXG4gICkge1xuICAgIGZpbmFsT3B0aW9ucy5uYXZpZ2F0ZVRvTmV4dENlbGwgPSBwYXJhbXMgPT4geyByZXR1cm4gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykgfTtcbiAgfVxuXG4gIGlmIChnZXREYXRhUGF0aFRlbXBsYXRlICYmIGZpbmFsT3B0aW9ucy50cmVlRGF0YSkge1xuICAgIGNvbnN0IGdldERhdGFQYXRoVGVtcGxhdGVDb21wbGllZCA9IHRlbXBsYXRlKGdldERhdGFQYXRoVGVtcGxhdGUpO1xuICAgIGZpbmFsT3B0aW9ucy5nZXREYXRhUGF0aCA9IGRhdGEgPT4gZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkKHsgZGF0YTogZGF0YSB9KTtcbiAgfVxuXG4gIC8vIGV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGZpbmFsT3B0aW9ucy5jb2x1bW5EZWZzKTtcblxuICByZXR1cm4gZmluYWxPcHRpb25zO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP2pzcyFqc3MvanNzLmpzJztcbmltcG9ydCB7Z3dfZ2V0RG9jdW1lbnR9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIEZvcm1hdGUgdGhlIGNzcyBzZWxlY3RvciBcbiAqIFxuICogQ2hlY2sgaWYgdGhlIGNzcyBzZWxlY3RvciBzdGFydHMgd2l0aCBkb3QgLCBpZiBub3QgYWRkIG9uZSBhbmQgcmV0dXJuIHRoZSBcbiAqIGZvcm1hdHRlZCBuYW1lIFxuICogXG4gKiBAcGFyYW0geyp9IHNlbGVjdG9yIFxuICovXG5mdW5jdGlvbiBmb3JtYXRTZWxlY3RvcihzZWxlY3Rvcil7XG4gIHJldHVybiBzZWxlY3Rvci5zdGFydHNXaXRoKFwiLlwiKSA/IHNlbGVjdG9yIDogYC4ke3NlbGVjdG9yfWA7XG59XG5cbi8qKlxuICogQWRkIG5ldyBzdHlsZSBcbiAqIFxuICogQWRkIG5ldyBzdHlsZSB0byB0aGUgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqIEBwYXJhbSB7U3RyaW5nfSBydWxlcyBKc29uIHN0cmluZyBmb3IgYW4gYXJyYXkgb2YgcnVsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0eWxlKHNlbGVjdG9yLCBydWxlcykge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkuc2V0KGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSwgSlNPTi5wYXJzZShydWxlcykpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBzdHlsZVxuICogXG4gKiBSZW1vdmUgYWRkZWQgc3R5bGUgZnJvbSB0aGVzIGRvY3VtZW50IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3IgY3NzIHNlbGVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVTdHlsZShzZWxlY3Rvcikge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkucmVtb3ZlKGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIlxuaW1wb3J0IHtcbiAgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50LFxuICBnd19zZW5kRXZlbnRcbn0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldENvbnRleHRNZW51KGdyaWRJZCwgcGFyYW1zKSB7XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0TWVudUFjdGlvbiA9IChwYXJhbXMsIGlkKSA9PiB7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuXG4gICAgICBjb25zdCBub2RlID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KHBhcmFtcyk7XG4gICAgICBjb25zdCBjb2xJZCA9IHBhcmFtcy5jb2x1bW4uY29sSWQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgZ3dfc2VuZEV2ZW50KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICAgJ3R5cGUnOiAnZ3cuY29udGV4dG1lbnUnLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoeyByb3c6IG5vZGUsIGNvbHVtbjogY29sSWQsIHZhbHVlLCBpZCB9KVxuICAgICAgfSwgaWQpO1xuICAgIH07XG4gIH07XG5cbiAgY29uc3QgcGFyc2VNZW51ID0gKG1lbnUpID0+IHtcbiAgICBtZW51LmZvckVhY2goaXRlbSA9PiB7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHJldHVybjtcblxuICAgICAgaXRlbVsnYWN0aW9uJ10gPSBidWlsZENvbnRleHRNZW51QWN0aW9uKHBhcmFtcywgaXRlbS5pZCk7XG5cbiAgICAgIGlmIChpdGVtWydjc3NDbGFzc2VzJ10gJiYgIUFycmF5LmlzQXJyYXkoaXRlbVsnY3NzQ2xhc3NlcyddKSlcbiAgICAgICAgaXRlbVsnY3NzQ2xhc3NlcyddID0gaXRlbVsnY3NzQ2xhc3NlcyddLnNwbGl0KFwiIFwiKTtcblxuICAgICAgaWYgKGl0ZW1bJ3N1Yk1lbnUnXSkgaXRlbVsnc3ViTWVudSddID0gcGFyc2VNZW51KGl0ZW1bJ3N1Yk1lbnUnXSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VNZW51KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQuY29udGV4dE1lbnUpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogU2hvdyBsb2FkaW5nIG92ZXJsYXlcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zaG93TG9hZGluZ092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG59XG5cbi8qKlxuICogU2hvdyAnbm8gcm93cycgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dOb1Jvd3NPdmVybGF5KGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNob3dOb1Jvd3NPdmVybGF5KCk7XG59XG5cbi8qKlxuICogQ2xlYXIgYWxsIG92ZXJsYXlzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaGlkZU92ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuaGlkZU92ZXJsYXkoKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfcGFyc2VOb2RlIH0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFF1aWNrRmlsdGVyKGlkLCBmaWx0ZXIpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0UXVpY2tGaWx0ZXIoZmlsdGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2V4cGFuZEFsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5leHBhbmRBbGwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2NvbGxhcHNlQWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNvbGxhcHNlQWxsKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlUm93KGlkLCBpbmRleCwgcG9zaXRpb24pIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZW5zdXJlSW5kZXhWaXNpYmxlKGluZGV4LCBwb3NpdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB7XG5cbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGxldCBwcmV2aW91c0NlbGwgPSBwYXJhbXMucHJldmlvdXNDZWxsUG9zaXRpb247XG4gIGxldCBzdWdnZXN0ZWROZXh0Q2VsbCA9IHBhcmFtcy5uZXh0Q2VsbFBvc2l0aW9uO1xuXG4gIGNvbnN0IEtFWV9VUCA9IDM4O1xuICBjb25zdCBLRVlfRE9XTiA9IDQwO1xuICBjb25zdCBLRVlfTEVGVCA9IDM3O1xuICBjb25zdCBLRVlfUklHSFQgPSAzOTtcblxuICBzd2l0Y2ggKHBhcmFtcy5rZXkpIHtcbiAgICBjYXNlIEtFWV9ET1dOOlxuICAgICAgLy8gc2V0IHNlbGVjdGVkIGNlbGwgb24gY3VycmVudCBjZWxsICsgMVxuICAgICAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUoKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ2VsbC5yb3dJbmRleCArIDEgPT09IG5vZGUucm93SW5kZXgpIHtcbiAgICAgICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBjYXNlIEtFWV9VUDpcbiAgICAgIC8vIHNldCBzZWxlY3RlZCBjZWxsIG9uIGN1cnJlbnQgY2VsbCAtIDFcbiAgICAgIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NlbGwucm93SW5kZXggLSAxID09PSBub2RlLnJvd0luZGV4KSB7XG4gICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgY2FzZSBLRVlfTEVGVDpcbiAgICBjYXNlIEtFWV9SSUdIVDpcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGhhdmUgc3VwZXIgc3RyYW5nZSBrZXlib2FyZFwiKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Um93Tm9kZUlkKGlkLCBkYXRhKSB7XG4gIHJldHVybiBkYXRhW2d3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dC5nZXRSb3dOb2RlSWRdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93c0RhdGEoaWQsIGpzb24pIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuc2V0Um93RGF0YShqc29uKTtcbiAgb3B0aW9ucy5yb3dEYXRhID0ganNvbjtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd0RhdGEoaWQsIHJvdykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgdXBkYXRlOiBbcm93XSB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVJvd3MoaWQsIGluZGV4ZXMpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGxldCBpdGVtcyA9IFtdO1xuXG4gIGluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XG4gICAgaXRlbXMucHVzaChvcHRpb25zLmFwaS5nZXRSb3dOb2RlKGluZGV4KS5kYXRhKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IHJlbW92ZTogaXRlbXMgfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRSb3dzKGlkLCBpbmRleCwgcm93cykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgYWRkOiByb3dzLCBhZGRJbmRleDogaW5kZXggfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBoZWlnaHQgb2YgYWxsIHJvd3MgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtOdW1iZXJ9IGhlaWdodCB0aGUgcm93IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93c0hlaWdodChpZCwgaGVpZ2h0KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKHJvdyA9PiB7XG4gICAgcm93LnNldFJvd0hlaWdodChoZWlnaHQpO1xuICB9KTtcbiAgb3B0aW9ucy5hcGkub25Sb3dIZWlnaHRDaGFuZ2VkKCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBnaXZlbiByb3cgaGVpZ2h0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWQgXG4gKiBAcGFyYW0ge051bWJlcn0gaW5kZXggdGhlIHJvdyBpbmRleFxuICogQHBhcmFtIHtOdW1iZXJ9IGhlaWdodCB0aGUgbmV3IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93SGVpZ2h0KGlkLCBpbmRleCwgaGVpZ2h0KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCByb3cgPSBvcHRpb25zLmFwaS5nZXREaXNwbGF5ZWRSb3dBdEluZGV4KGluZGV4KTtcblxuICBpZiAocm93KSB7XG4gICAgcm93LnNldFJvd0hlaWdodChoZWlnaHQpO1xuICAgIG9wdGlvbnMuYXBpLm9uUm93SGVpZ2h0Q2hhbmdlZCgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHNldCBoZWlnaHQgZm9yIHJvdyAke2luZGV4fS4gUm93IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U2VsZWN0ZWRSb3dzKGlkLCByb3dzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0KG5vZGUgPT4ge1xuICAgIGlmIChyb3dzLmluZGV4T2Yobm9kZS5yb3dJbmRleCkgPiAtMSkge1xuICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgIG5vZGUuZXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIG9wdGlvbnMuYXBpLm9uR3JvdXBFeHBhbmRlZE9yQ29sbGFwc2VkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZWxlY3RBbGwoaWQsIGZpbHRlcmVkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIGlmICgxID09PSBmaWx0ZXJlZCkge1xuICAgIG9wdGlvbnMuYXBpLnNlbGVjdEFsbEZpbHRlcmVkKCk7XG4gIH0gZWxzZSB7XG4gICAgb3B0aW9ucy5hcGkuc2VsZWN0QWxsKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2Rlc2VsZWN0QWxsKGlkLCBmaWx0ZXJlZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBpZiAoMSA9PT0gZmlsdGVyZWQpIHtcbiAgICBvcHRpb25zLmFwaS5kZXNlbGVjdEFsbEZpbHRlcmVkKCk7XG4gIH0gZWxzZSB7XG4gICAgb3B0aW9ucy5hcGkuZGVzZWxlY3RBbGwoKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCBzZWxlY3RlZCByb3dzXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybnMge1N0cmluZ30gIHNlbGVjdGVkIHJvd3MgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U2VsZWN0ZWRSb3dzKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBub2RlcyA9IG9wdGlvbnMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKTtcbiAgbGV0IHBhcnNlZCA9IFtdO1xuXG4gIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgcGFyc2VkLnB1c2goZ3dfcGFyc2VOb2RlKG5vZGUsIG9wdGlvbnMuY29udGV4dCkpO1xuICB9KTtcblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocGFyc2VkKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGxhc3Qgc2VsZWN0ZWQgcm93XG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybnMge1N0cmluZ30gc2VsZWN0ZWQgcm93IGFzIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFNlbGVjdGVkUm93KGlkKSB7XG4gIGNvbnN0IHJvd3MgPSBKU09OLnBhcnNlKGd3X2dldFNlbGVjdGVkUm93cyhpZCkpO1xuXG4gIGlmIChyb3dzLmxlbmd0aCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyb3dzW3Jvd3MubGVuZ3RoIC0gMV0pO1xuICB9XG5cbiAgcmV0dXJuICcnO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3RhdGUoaWQsIHN0YXRlKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIHRyeSB7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uU3RhdGUoc3RhdGUuY29sdW1ucyk7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uR3JvdXBTdGF0ZShzdGF0ZS5ncm91cHMpO1xuICAgIG9wdGlvbnMuYXBpLnNldFNvcnRNb2RlbChzdGF0ZS5zb3J0KTtcbiAgICBvcHRpb25zLmFwaS5zZXRGaWx0ZXJNb2RlbChzdGF0ZS5maWx0ZXJzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIHBhcnNlIGdyaWQgc3RhdGUgZnJvbSBKU09OJywgZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFN0YXRlKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBjb2x1bW5zID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcbiAgY29uc3QgZ3JvdXBzID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uR3JvdXBTdGF0ZSgpO1xuICBjb25zdCBzb3J0ID0gb3B0aW9ucy5hcGkuZ2V0U29ydE1vZGVsKCk7XG4gIGNvbnN0IGZpbHRlcnMgPSBvcHRpb25zLmFwaS5nZXRGaWx0ZXJNb2RlbCgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbHVtbnMsXG4gICAgICBncm91cHMsXG4gICAgICBzb3J0LFxuICAgICAgZmlsdGVyc1xuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gY29udmVydCB0aGUgZ3JpZCBzdGF0ZSB0byBqc29uJywgZSk7XG4gIH1cbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkoaWQsIGtleSwgdmlzaWJpbGl0eSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmFwaVxuXHRcdC5nZXRTdGF0dXNQYW5lbChrZXkpXG5cdFx0LnNldFZpc2libGUoQm9vbGVhbih2aXNpYmlsaXR5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTaWRlQmFyVmlzaWJsZShpZCwgdmFsdWUpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0U2lkZUJhclZpc2libGUoQm9vbGVhbih2YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfb3BlblRvb2xwYW5lbChncmlkSWQsIHRvb2xwYW5lbElkKSB7XG4gIGd3X2dldEdyaWQoZ3JpZElkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5vcGVuVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2Nsb3NlVG9vbHBhbmVsKGdyaWRJZCwgdG9vbHBhbmVsSWQpIHtcbiAgZ3dfZ2V0R3JpZChncmlkSWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNsb3NlVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5KGlkLCByZWFkb25seSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRGdW5jdGlvbnNSZWFkT25seShCb29sZWFuKHJlYWRvbmx5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKlxuICogR2V0IGRvY3VtZW50IFxuICogXG4gKiBHZXQgdGhlIGRvY3VtZW50IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gRG9jdW1lbnQgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldERvY3VtZW50KCkge1xuICByZXR1cm4gdHlwZW9mICRkb2MgIT09ICd1bmRlZmluZWQnID8gJGRvYyA6IGRvY3VtZW50O1xufVxuXG4vKipcbiAqIEdldCB3aW5kb3cgXG4gKiBcbiAqIEdldCB0aGUgd2luZG93IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gV2luZG93IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2YgJHdpbiAhPT0gJ3VuZGVmaW5lZCcgPyAkd2luIDogd2luZG93O1xufVxuXG4vKipcbiAqIEVzY2FwZSBWYWx1ZSBcbiAqIFxuICogQ2hhbmdlIG51bGwgYW5kIHVuZGVmaW5lZCB0byBlbXB0eSBzdHJpbmcgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gKiBcbiAqIEByZXR1cm4ge1N0cmluZ30gZXNjYXBlZCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXNjYXBlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiAnJztcbn1cblxuLyoqXG4gKiBHZXQgR3JpZCBcbiAqIFxuICogUmV0cmlldmUgdGhlIGdyaWQgaW5zdGFuY2UgZnJvbSBgd2luZG93LkJCakdyaWRFeFdpZGdldGAgYXJyYXkgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm4ge09iamVjdHxudWxsfSBUaGUgZ3JpZCdzIGluc3RhbmNlIG9mciBudWxsXG4gKiBAdGhyb3dzIFR5cGVFcnJvciB3aGVuIHRoZSBncmlkIGluc3RhbmNlIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0R3JpZChpZCkge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgY29uc3QgZ3JpZCA9ICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0W2lkXSB8fCBudWxsO1xuXG4gIGlmICghZ3JpZCkge1xuICAgIGNvbnN0IHJlZ2lzdGVyZWRHcmlkcyA9IEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQpKTtcbiAgICAvL2dldEZ1bmNBcmdzKGZ1bmMpLmZvckVhY2goKGtleSwgaSkgPT4gYXJnc09ialtrZXldID0gYXJnc1tpXSk7XG4gICAgXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbmBcXG5cXG5bR3JpZCBOb3QgRm91bmRdIFRoZSBtZXRob2QgYXNrZWQgZm9yIG5vbi1leGlzdGVudCBncmlkIGluc3RhbmNlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVxdWlyZWQgR3JpZCBJZCA6ICR7aWR9ICAgXG5SZWdpc3RlcmVkIEdyaWRzIDogJHtyZWdpc3RlcmVkR3JpZHN9XG5gKTtcbiAgfVxuICBcbiAgcmV0dXJuIGdyaWQ7XG59XG5cbi8qKlxuICogQWRkIEdyaWQgXG4gKiBcbiAqIFN0b3JlIGEgbmV3IGdyaWQgaW5zdGFuY2UgYnkgaW4gdGhlIGB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0YCBhcnJheSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICBUaGUgZ3JpZCdzIG9wdGlvbnNcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBTdG9yZWQgZ3JpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkR3JpZChpZCwgb3B0aW9ucykge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldFtpZF0gPSBvcHRpb25zO1xuICBcbiAgcmV0dXJuIGd3X2dldEdyaWQoaWQpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLy8gc2VsZWN0aW9uIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19DTElDSyA9IDY5O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0sgPSA1MjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0NMSUNLID0gNTAwMTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyA9IDUwMDI7XG5cbi8vIGVkaXRpbmcgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQgPSA1MDAzO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVEID0gNTAwNDtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQgPSA1MDA1O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQgID0gNTAwNjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVEID0gNTAwNztcblxuLy8gc3RhdGUgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0UgPSA1MDA4OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gIEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsRWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVELFxuICAnY2VsbEVkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCxcbiAgJ2NlbGxWYWx1ZUNoYW5nZWQnICA6IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbn07XG5cbmNvbnN0IFJPV19FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdyb3dFZGl0aW5nU3RhcnRlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgJ3Jvd0VkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVELFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgY2VsbEVkaXRpbmdTdGFydGVkYCAsIGBjZWxsRWRpdGluZ1N0b3BwZWRgIGFuZCBcbiAqIGBjZWxsVmFsdWVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbFZhbHVlQ2hhbmdlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAZmlyZXMgZ3cuY2VsbFZhbHVlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB7XG5cbiAgY29uc3QgdmFsdWUgPSBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuICBjb25zdCBvbGRWYWx1ZSA9IGd3X2VzY2FwZShlLm9sZFZhbHVlKSB8fCBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuXG4gIC8vaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgcmV0dXJuO1xuXG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcbiAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgY29uc3QgY29sSWQgPSBlLmNvbHVtbi5jb2xJZDtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke3R5cGV9YCxcbiAgICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICBjb2x1bW46IGNvbElkXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0VkaXRpbmdTdGFydGVkYCAsIGByb3dFZGl0aW5nU3RvcHBlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cucm93RWRpdGluZ1N0b3BwZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSB7XG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgICBnd19zZW5kRXZlbnQoXG4gICAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeShwYXJzZWQpXG4gICAgICB9LFxuICAgICAgUk9XX0VESVRJTkdfRVZFTlRTX01BUFt0eXBlXVxuICAgICk7XG4gIH1cbn1cblxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25DZWxsQ2xpY2tFdmVudFxufSBmcm9tIFwiLi9zZWxlY3Rpb25zXCI7XG5cbmltcG9ydCB7XG5cdGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcblx0Z3dfb25Sb3dFZGl0aW5nRXZlbnRcbn0gZnJvbSBcIi4vZWRpdGluZ1wiO1xuXG5pbXBvcnQge1xuXHRnd19vblJlYWR5RXZlbnRcbn0gZnJvbSBcIi4vc3RhdGVcIjtcblxuaW1wb3J0IHtcblx0Z3dfZGVib3VuY2Vcbn0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCB7XG5cdGd3X29uUm93RG91YmxlQ2xpY2tlZCxcblx0Z3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vbkNlbGxDbGlja0V2ZW50LFxuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50LFxuXHRnd19vblJlYWR5RXZlbnQsXG5cdGd3X2RlYm91bmNlXG59OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9ST1dfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gICdjZWxsRG91YmxlQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcm93RG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIGJiaiBldmVudCB3aXRoIGBHV19OT0RFYCBhcyBwYXlsb2FkXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudCdzIHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0RvdWJsZUNsaWNrZWRcbiAqIEBmaXJlcyBndy5yb3dEb3VibGVDbGlja1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25Sb3dEb3VibGVDbGlja2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd0RvdWJsZUNsaWNrJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc2VsZWN0aW9uQ2hhbmdlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucm93U2VsZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblNlbGVjdGlvbkNoYW5nZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucm93U2VsZWN0JyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0NMSUNLKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBjZWxsQ2xpY2tFdmVudGAgJiBgY2VsbERvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxDbGlja0V2ZW50XG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbERvdWJsZUNsaWNrZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxDbGlja2VkXG4gKiBAZmlyZXMgZ3cuY2VsbERvdWJsZUNsaWNrZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbENsaWNrRXZlbnQoaWQsIGUpIHtcbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBjb25zdCB0eXBlID0gZS50eXBlO1xuICAgIGd3X3NlbmRFdmVudChnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgdmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgb2xkVmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgY29sdW1uOiBlLmNvbHVtbi5jb2xJZFxuICAgICAgfSlcbiAgICB9LCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVBbdHlwZV0pO1xuICB9XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfZGVib3VuY2UgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0Vcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogT24gUmVhZHkgRXZlbnQgXG4gKiBcbiAqIFRoZSBtZXRob2Qgd2lsbCBpZ25vcmUgZmlyc3QgcmVhZHkgZXZlbnQgYW5kIHRoZW4gcmVnaXN0ZXIgYSBkZWJvdW5jZWQgc3RhdGVcbiAqIGNhbGxiYWNrIHRvIHNlbmQgc3RhdGUgZXZlbnRzIHRvIEJCalxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJlYWR5RXZlbnQoaWQsIGUpIHtcblxuICAvLyByZWdpc3RlciBzdGF0ZSBkZWJvdW5jZSBtb25pdG9yIFxuICBjb25zdCBzdGF0ZURlYm91bmNlID0gZ3dfZGVib3VuY2UoY2hhbmdlRXZlbnQgPT4ge1xuXG4gICAgLy8gV2Ugc2tpcCB0aGUgZmlyc3QgcmVuZGVyIHN0YXRlIGNoYW5nZXNcbiAgICAvLyBpZiAoIWd3X2dldEdyaWQoaWQpLmhhc093blByb3BlcnR5KCdpc0ZpcnN0UmVuZGVyJykpIHtcbiAgICAvLyBcdGd3X2dldEdyaWQoaWQpLmlzRmlyc3RSZW5kZXIgPSB0cnVlO1xuICAgIC8vIFx0cmV0dXJuO1xuICAgIC8vIH1cblxuICAgIGd3X29uU3RhdGVDaGFuZ2VkKGlkLCBjaGFuZ2VFdmVudCk7XG4gIH0sIDUwMCk7XG5cbiAgW1xuICAgICdzb3J0Q2hhbmdlZCcsXG4gICAgJ2ZpbHRlckNoYW5nZWQnLFxuICAgICdjb2x1bW5WaXNpYmxlJyxcbiAgICAnY29sdW1uUGlubmVkJyxcbiAgICAnY29sdW1uUmVzaXplZCcsXG4gICAgJ2NvbHVtbk1vdmVkJyxcbiAgICAnbmV3Q29sdW1uc0xvYWRlZCcsXG4gICAgJ2dyaWRDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ2Rpc3BsYXllZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAndmlydHVhbENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnY29sdW1uRXZlcnl0aGluZ0NoYW5nZWQnLFxuICAgIC8vJ2dyaWRTaXplQ2hhbmdlZCcsXG4gICAgJ2V4cGFuZE9yQ29sbGFwc2VBbGwnLFxuICAgIC8vJ3Rvb2xQYW5lbFZpc2libGVDaGFuZ2VkJ1xuICBdLmZvckVhY2goZXZlbnQgPT4ge1xuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHN0YXRlRGVib3VuY2UpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc3RhdGVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc3RhdGVDaGFuZ2VkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnN0YXRlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGUpIHtcbiAgZ3dfc2VuZEV2ZW50KFxuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICB7XG4gICAgICAndHlwZSc6ICdndy5zdGF0ZUNoYW5nZWQnLFxuICAgICAgJ2RldGFpbCc6IFtdXG4gICAgfSxcbiAgICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxuICApO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuXG4vKiogaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvamF2YXNjcmlwdC1kZWJvdW5jZS1mdW5jdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2RlYm91bmNlKGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSkge1xuICB2YXIgdGltZW91dDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xuICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG4gICAgaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBCQmogc2lkZSBcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgdHJpZ2dlciBhIGN1c3RvbSBjbGljayBldmVudCBvbiB0aGUgYGV2ZW50LWJyaWRnZS0ke2lkfWAgZGl2XG4gKiB0aGVuIHRoZSBkaXYgd2lsbCB1c2UgYmFzaXNEaXNwYXRjaEN1c3RvbUV2ZW50IHRvIGRpc3BhdGNoIHRoZSBldmVudCB0byBCQmpcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gY29udGV4dCB0aGUgZ3JpZCdzIGNvbnRleHRcbiAqIEBwYXJhbSB7Kn0gcGF5bG9hZCB0aGUgZXZlbnQgcGF5bG9hZFxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50SWQgdGhlIGV2ZW50J3MgaWQgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZW5kRXZlbnQoY29udGV4dCwgcGF5bG9hZCA9IHt9LCBldmVudElkID0gW10pIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEludGVyZXN0cyA9IGNvbnRleHQuaW50ZXJlc3RzIHx8IFtdO1xuXG4gIGlmIChyZWdpc3RlcmVkSW50ZXJlc3RzLmluY2x1ZGVzKGV2ZW50SWQpKSB7XG4gICAgY29uc3QgZGl2ID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChgZXZlbnQtYnJpZGdlLSR7Y29udGV4dC5pZH1gKTtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2xpY2snKTtcblxuICAgIGV2ZW50LnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIGRpdi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWQgXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5kZXggXG4gKiBAcHJvcGVydHkge251bWJlcn0gcGFyZW50S2V5IFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoaWxkSW5kZXggXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkIFxuICovXG5cbi8qKlxuICogUGFyc2UgYSBub2RlIGFzIEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcGFyYW0ge09iamVjdH0gbm9kZSBhZyBncmlkIG5vZGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0ICBhZyBncmlkIGNvbnRleHRcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd3xCb29sZWFufSBvYmplY3QgZm9ybWF0dGVkIGFzIEJCakdyaWRFeFdpZGdldFJvdy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgaWYgdGhlIG5vZGUgaXMgZm9yIGdyb3VwIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KSB7XG5cbiAgaWYgKHRydWUgPT09IG5vZGUuZ3JvdXApIHJldHVybiBmYWxzZTsgLy8gd2UgZG8gbm90IG1hbmFnZSBncm91cHNcblxuICBjb25zdCByb3dOb2RlSWQgPSBjb250ZXh0Lmhhc093blByb3BlcnR5KCdnZXRSb3dOb2RlSWQnKSAmJiBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdID9cbiAgICBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdIDogJyc7XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogcm93Tm9kZUlkID8gcm93Tm9kZUlkIDogbm9kZS5pZCxcbiAgICBpbmRleDogcm93Tm9kZUlkLFxuICAgIHBhcmVudEtleTogbm9kZS5oYXNPd25Qcm9wZXJ0eSgncGFyZW50JykgJiYgbm9kZS5wYXJlbnQuaGFzT3duUHJvcGVydHkoJ2tleScpID9cbiAgICAgIG5vZGUucGFyZW50LmtleSA6ICcnLFxuICAgIGNoaWxkSW5kZXg6IG5vZGUuY2hpbGRJbmRleCxcbiAgICBzZWxlY3RlZDogQm9vbGVhbihub2RlLnNlbGVjdGVkKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZSBub2RlIGZyb20gZXZlbnQgXG4gKiBcbiAqIFBhcnNlIG5vZGUgaW4gdGhlIHBhU3NlZCBldmVudCBhcyBCQmpHcmlkRXhXaWRnZXRSb3dcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGVcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZUZyb21FdmVudChlKSB7XG4gIHJldHVybiBnd19wYXJzZU5vZGUoZS5ub2RlLCBlLmNvbnRleHQpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/QmFzaXMuQWdHcmlkQ29tcG9uZW50cyFhZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzJztcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MnKTtcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYm9vdHN0cmFwLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzJyk7XG5cbnJlcXVpcmUoJy4vc3R5bGUvY2xhc3Nlcy5jc3MnKTtcblxuZXhwb3J0ICogZnJvbSAnLi9wb2x5ZmlsbHMuanMnO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpXCI7XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvQ3VzdG9tRXZlbnQgICovXG4oZnVuY3Rpb24gKCkge1xuICBpZiAodHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gZmFsc2U7IC8vSWYgbm90IElFXG5cbiAgZnVuY3Rpb24gQ3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7IGJ1YmJsZXM6IGZhbHNlLCBjYW5jZWxhYmxlOiBmYWxzZSwgZGV0YWlsOiB1bmRlZmluZWQgfTtcbiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgZXZ0LmluaXRDdXN0b21FdmVudChldmVudCwgcGFyYW1zLmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlLCBwYXJhbXMuZGV0YWlsKTtcbiAgICByZXR1cm4gZXZ0O1xuICB9XG5cbiAgQ3VzdG9tRXZlbnQucHJvdG90eXBlID0gd2luZG93LkV2ZW50LnByb3RvdHlwZTtcblxuICB3aW5kb3cuQ3VzdG9tRXZlbnQgPSBDdXN0b21FdmVudDtcbn0pKCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9jbGFzc2VzLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +<<<<<<< HEAD +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL251bWJlci9pcy1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZWVwLXBhcnNlLWpzb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tcG9uZW50cy9kaXN0L2FnYy1iYXNpYy5idW5kbGUuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcy1leHBvc2VkIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9qc3MvanNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheUxpa2VLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2FycmF5TWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Fzc2lnblZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VBc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0VGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc0FyZ3VtZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNOYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VQcm9wZXJ0eU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTZXRUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVGltZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VVbmFyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcHlPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29yZUpzRGF0YS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVBc3NpZ25lci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jdXN0b21EZWZhdWx0c0Fzc2lnbkluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2RlZmluZVByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZUh0bWxDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2VzY2FwZVN0cmluZ0NoYXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZnJlZUdsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXROYXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0UHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFJhd1RhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRWYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzSXRlcmF0ZWVDYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzTWFza2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2lzUHJvdG90eXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fbmF0aXZlS2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25vZGVVdGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX29iamVjdFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJBcmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fb3ZlclJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVFdmFsdWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yZUludGVycG9sYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Jvb3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fc2hvcnRPdXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fdG9Tb3VyY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hc3NpZ25JbldpdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9hdHRlbXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvY29uc3RhbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lcS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2VzY2FwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lkZW50aXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0FycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheUxpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0J1ZmZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzRXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Z1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNMZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzT2JqZWN0TGlrZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzUGxhaW5PYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1N5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzVHlwZWRBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2tleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzSW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9zdHViRmFsc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL3RlbXBsYXRlU2V0dGluZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90b1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc3R5bGUvY2xhc3Nlcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL3VybHMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY2VsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9jb2x1bW5zLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29udGV4dC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL21lbnVzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvb3ZlcmxheXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9yb3dzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9zdGF0dXNiYXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS90b29scGFuZWwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9jb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9lZGl0aW5nLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy9zZWxlY3Rpb25zLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V2ZW50cy91dGlsaXRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9wb2x5ZmlsbHMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzP2I3MzgiXSwibmFtZXMiOlsiZGVlcFBhcnNlSnNvbiIsImpzb25TdHJpbmciLCJKU09OIiwicGFyc2UiLCJlcnIiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWwiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwib2JqIiwia2V5IiwibW9kdWxlIiwiZXhwb3J0cyIsImd3X3N0YXJ0RWRpdGluZ0NlbGwiLCJpZCIsInJvdyIsImNvbEtleSIsImNoYXIiLCJvcHRpb25zIiwiYXBpIiwic2V0Rm9jdXNlZENlbGwiLCJOdW1iZXIiLCJzdGFydEVkaXRpbmdDZWxsIiwicm93SW5kZXgiLCJrZXlQcmVzcyIsImNoYXJQcmVzcyIsImd3X3N0b3BFZGl0aW5nIiwiY2FuY2VsIiwic3RvcEVkaXRpbmciLCJnd19lZGl0TmV4dENlbGwiLCJ0YWJUb05leHRDZWxsIiwiZ3dfZWRpdFByZXZpb3VzQ2VsbCIsInRhYlRvUHJldmlvdXNDZWxsIiwiZ3dfc2V0Rm9jdXNlZENlbGwiLCJjb2x1bW4iLCJyIiwiaXNJbnRlZ2VyIiwiZ2V0Um93Tm9kZSIsImMiLCJjb2x1bW5BcGkiLCJnZXRBbGxHcmlkQ29sdW1ucyIsImNvbElkIiwicmVxdWlyZSIsImd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zIiwiZGVmaW5pdGlvbnMiLCJpIiwiZGVmIiwiY2hlY2tib3hTZWxlY3Rpb24iLCJnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveCIsImhlYWRlckNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X3NldENvbHVtbkRlZmluaXRpb25zIiwiZ3JpZCIsImRlZXBQYXJzZWREZWZpbml0aW9ucyIsInN0cmluZ2lmeSIsInNldENvbHVtbkRlZnMiLCJjb2x1bW5EZWZzIiwiZ3dfc2l6ZUNvbHVtbnNUb0ZpdCIsInNpemVDb2x1bW5zVG9GaXQiLCJnd19zZXRWaXNpYmxlQ29sdW1uIiwiY29sdW1uSWQiLCJlbnN1cmVDb2x1bW5WaXNpYmxlIiwiZ3dfc2V0Q29sdW1uV2lkdGgiLCJ3aWR0aCIsInNldENvbHVtbldpZHRoIiwiZ3dfcGluQ29sdW1uIiwicGluIiwic2V0Q29sdW1uUGlubmVkIiwiZ3dfbW92ZUNvbHVtbiIsInRvSW5kZXgiLCJtb3ZlQ29sdW1uIiwicGFyYW0iLCJjb250ZXh0Iiwic2hvd1NlbGVjdGlvbkNoZWNrYm94IiwiY29sdW1ucyIsImdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zIiwiY29sRGVmIiwiZmllbGQiLCJncmlkT3B0aW9uc1dyYXBwZXIiLCJncmlkT3B0aW9ucyIsInNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveCIsImd3X2FkZFJvd0dyb3VwQ29sdW1uIiwic2V0Iiwic3BsaXQiLCJ0cmltIiwiZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4iLCJyZW1vdmVSb3dHcm91cENvbHVtbnMiLCJnd19nZXRQaXZvdE1vZGUiLCJpc1Bpdm90TW9kZSIsImd3X3NldFBpdm90TW9kZSIsIm1vZGUiLCJzZXRQaXZvdE1vZGUiLCJnd19hZGRQaXZvdENvbHVtbnMiLCJnd19yZW1vdmVQaXZvdENvbHVtbnMiLCJyZW1vdmVQaXZvdENvbHVtbnMiLCJnd19hZGRWYWx1ZUNvbHVtbnMiLCJhZGRWYWx1ZUNvbHVtbnMiLCJnd19yZW1vdmVWYWx1ZUNvbHVtbnMiLCJyZW1vdmVWYWx1ZUNvbHVtbnMiLCJnd191cGRhdGVDb250ZXh0IiwidmFsdWUiLCJ0ZW1wbGF0ZSIsImd3X2luaXQiLCJsaWNlbnNlIiwiZGF0YSIsImFnR3JpZCIsIkxpY2Vuc2VNYW5hZ2VyIiwic2V0TGljZW5zZUtleSIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJIVE1MIiwicGFyc2VkT3B0aW9ucyIsImd3X3BhcnNlT3B0aW9ucyIsInJvd0RhdGEiLCJpbnN0YW5jZSIsIkdyaWQiLCJjb25zb2xlIiwibG9nIiwiZGVlcFBhcnNlZE9wdGlvbnMiLCJnZXREYXRhUGF0aFRlbXBsYXRlIiwiZ2V0RGF0YVBhdGgiLCJkZWJvdW5jZUR1cmF0aW9uIiwiZmluYWxPcHRpb25zIiwiZ2V0RG9jdW1lbnQiLCJvbkNlbGxFZGl0aW5nU3RhcnRlZCIsImUiLCJvbkNlbGxFZGl0aW5nU3RvcHBlZCIsIm9uQ2VsbFZhbHVlQ2hhbmdlZCIsIm9uUm93RWRpdGluZ1N0YXJ0ZWQiLCJvblJvd0VkaXRpbmdTdG9wcGVkIiwib25Sb3dWYWx1ZUNoYW5nZWQiLCJvbkNlbGxDbGlja2VkIiwib25DZWxsRG91YmxlQ2xpY2tlZCIsIm9uR3JpZFJlYWR5IiwiZ2V0Um93Tm9kZUlkIiwiZ3dfZ2V0Um93Tm9kZUlkIiwiZ2V0Q29udGV4dE1lbnVJdGVtcyIsInBhcmFtcyIsImJvZHkiLCJnd19vblJvd0RvdWJsZUNsaWNrZWQiLCJnd19vblNlbGVjdGlvbkNoYW5nZWQiLCJCYXNpcyIsIkFnR3JpZENvbXBvbmVudHMiLCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXIiLCJCYXNpY0Jvb2xlYW5zRWRpdG9yIiwiQmFzaWNCb29sZWFuc0ZpbHRlciIsIkJhc2ljTnVtYmVyc0VkaXRvciIsIkJhc2ljRGF0ZVRpbWVzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNGaWx0ZXIiLCJCYXNpY0ltYWdlc1JlbmRlcmVyIiwiY29tcGlsZWQiLCJfX1RFTVBMQVRFX18iLCJoYXNPd25Qcm9wZXJ0eSIsIm5hdmlnYXRlVG9OZXh0Q2VsbCIsInRyZWVEYXRhIiwiZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkIiwiZm9ybWF0U2VsZWN0b3IiLCJzZWxlY3RvciIsInN0YXJ0c1dpdGgiLCJnd19zZXRTdHlsZSIsInJ1bGVzIiwianNzIiwiZm9yRG9jdW1lbnQiLCJnd19yZW1vdmVTdHlsZSIsInJlbW92ZSIsImd3X2dldENvbnRleHRNZW51IiwiZ3JpZElkIiwiYnVpbGRDb250ZXh0TWVudUFjdGlvbiIsIm5vZGUiLCJwYXJzZU1lbnUiLCJtZW51IiwiZm9yRWFjaCIsIml0ZW0iLCJjb250ZXh0TWVudSIsImd3X3Nob3dMb2FkaW5nT3ZlcmxheSIsInNob3dMb2FkaW5nT3ZlcmxheSIsImd3X3Nob3dOb1Jvd3NPdmVybGF5Iiwic2hvd05vUm93c092ZXJsYXkiLCJnd19oaWRlT3ZlcmxheSIsImhpZGVPdmVybGF5IiwiZ3dfc2V0UXVpY2tGaWx0ZXIiLCJmaWx0ZXIiLCJzZXRRdWlja0ZpbHRlciIsImd3X2V4cGFuZEFsbCIsImV4cGFuZEFsbCIsImd3X2NvbGxhcHNlQWxsIiwiY29sbGFwc2VBbGwiLCJnd19zZXRWaXNpYmxlUm93IiwiaW5kZXgiLCJwb3NpdGlvbiIsImVuc3VyZUluZGV4VmlzaWJsZSIsImd3X25hdmlnYXRlVG9OZXh0Um93IiwicHJldmlvdXNDZWxsIiwicHJldmlvdXNDZWxsUG9zaXRpb24iLCJzdWdnZXN0ZWROZXh0Q2VsbCIsIm5leHRDZWxsUG9zaXRpb24iLCJLRVlfVVAiLCJLRVlfRE9XTiIsIktFWV9MRUZUIiwiS0VZX1JJR0hUIiwiZm9yRWFjaE5vZGUiLCJzZXRTZWxlY3RlZCIsIkVycm9yIiwiZ3dfc2V0Um93c0RhdGEiLCJqc29uIiwic2V0Um93RGF0YSIsInJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwiLCJnd19zZXRSb3dEYXRhIiwidXBkYXRlUm93RGF0YSIsInVwZGF0ZSIsImd3X3JlbW92ZVJvd3MiLCJpbmRleGVzIiwiaXRlbXMiLCJwdXNoIiwiZ3dfYWRkUm93cyIsInJvd3MiLCJhZGQiLCJhZGRJbmRleCIsImd3X3NldFJvd3NIZWlnaHQiLCJoZWlnaHQiLCJzZXRSb3dIZWlnaHQiLCJvblJvd0hlaWdodENoYW5nZWQiLCJnd19zZXRSb3dIZWlnaHQiLCJnZXREaXNwbGF5ZWRSb3dBdEluZGV4Iiwid2FybiIsImd3X3NldFNlbGVjdGVkUm93cyIsImZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0IiwiaW5kZXhPZiIsImV4cGFuZGVkIiwib25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQiLCJnd19zZWxlY3RBbGwiLCJmaWx0ZXJlZCIsInNlbGVjdEFsbEZpbHRlcmVkIiwic2VsZWN0QWxsIiwiZ3dfZGVzZWxlY3RBbGwiLCJkZXNlbGVjdEFsbEZpbHRlcmVkIiwiZGVzZWxlY3RBbGwiLCJnd19nZXRTZWxlY3RlZFJvd3MiLCJub2RlcyIsImdldFNlbGVjdGVkTm9kZXMiLCJwYXJzZWQiLCJnd19nZXRTZWxlY3RlZFJvdyIsImxlbmd0aCIsImd3X3NldFN0YXRlIiwic3RhdGUiLCJzZXRDb2x1bW5TdGF0ZSIsInNldENvbHVtbkdyb3VwU3RhdGUiLCJncm91cHMiLCJzZXRTb3J0TW9kZWwiLCJzb3J0Iiwic2V0RmlsdGVyTW9kZWwiLCJmaWx0ZXJzIiwiZ3dfZ2V0U3RhdGUiLCJnZXRDb2x1bW5TdGF0ZSIsImdldENvbHVtbkdyb3VwU3RhdGUiLCJnZXRTb3J0TW9kZWwiLCJnZXRGaWx0ZXJNb2RlbCIsImd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkiLCJ2aXNpYmlsaXR5IiwiZ2V0U3RhdHVzUGFuZWwiLCJzZXRWaXNpYmxlIiwiQm9vbGVhbiIsImd3X3NldFNpZGVCYXJWaXNpYmxlIiwic2V0U2lkZUJhclZpc2libGUiLCJnd19vcGVuVG9vbHBhbmVsIiwidG9vbHBhbmVsSWQiLCJvcGVuVG9vbFBhbmVsIiwiZ3dfY2xvc2VUb29scGFuZWwiLCJjbG9zZVRvb2xQYW5lbCIsImd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5IiwicmVhZG9ubHkiLCJzZXRGdW5jdGlvbnNSZWFkT25seSIsImd3X2dldERvY3VtZW50IiwiJGRvYyIsImRvY3VtZW50IiwiZ3dfZ2V0V2luZG93IiwiJHdpbiIsIndpbmRvdyIsImd3X2VzY2FwZSIsInVuZGVmaW5lZCIsImd3X2dldEdyaWQiLCJCQmpHcmlkRXhXaWRnZXQiLCJyZWdpc3RlcmVkR3JpZHMiLCJUeXBlRXJyb3IiLCJnd19hZGRHcmlkIiwiR1dfRVZFTlRfUk9XX0NMSUNLIiwiR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQiLCJHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCIsIkdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFIiwiQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAiLCJST1dfRURJVElOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsRWRpdGluZ0V2ZW50IiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsInR5cGUiLCJnd19vblJvd0VkaXRpbmdFdmVudCIsIkNFTExfQ0xJQ0tJTkdfRVZFTlRTX01BUCIsImd3X29uQ2VsbENsaWNrRXZlbnQiLCJnd19vblJlYWR5RXZlbnQiLCJzdGF0ZURlYm91bmNlIiwiY2hhbmdlRXZlbnQiLCJnd19vblN0YXRlQ2hhbmdlZCIsImV2ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImd3X2RlYm91bmNlIiwiZnVuYyIsIndhaXQiLCJpbW1lZGlhdGUiLCJ0aW1lb3V0IiwiYXJncyIsImFyZ3VtZW50cyIsImxhdGVyIiwiYXBwbHkiLCJjYWxsTm93IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImd3X3NlbmRFdmVudCIsInBheWxvYWQiLCJldmVudElkIiwicmVnaXN0ZXJlZEludGVyZXN0cyIsImludGVyZXN0cyIsImluY2x1ZGVzIiwiZGl2IiwiQ3VzdG9tRXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiZ3dfcGFyc2VOb2RlIiwiZ3JvdXAiLCJyb3dOb2RlSWQiLCJwYXJlbnRLZXkiLCJwYXJlbnQiLCJjaGlsZEluZGV4Iiwic2VsZWN0ZWQiLCJnd19wYXJzZU5vZGVGcm9tRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImRldGFpbCIsImV2dCIsImNyZWF0ZUV2ZW50IiwiaW5pdEN1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dEI7QUFDQSxnQkFBZ0IsT0FBTztBQUN2Qjs7QUFFQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxPQUFPO0FBQ1A7QUFDQSxDQUFDO0FBQ0Q7O0FBRUEsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUM4QjtBQUNsQyxDQUFDLHFCQUFxQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0RUFBNEU7QUFDNUU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVc7QUFDWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSw2RkFBNkY7QUFDN0Y7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdKQUFnSjtBQUNoSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGdDQUFnQyxlQUFlO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0MsZUFBZTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxlQUFlO0FBQ25FO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0Msb0VBQW9FO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGNBQWMsNEJBQTRCO0FBQzFDO0FBQ0E7O0FBRUEsMkJBQTJCLDBCQUEwQjtBQUNyRDtBQUNBOztBQUVBLDBDQUEwQyxxRkFBcUY7QUFDL0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCLDRCQUE0QjtBQUNuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsNENBQTRDLEtBQUs7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSx1R0FBdUc7O0FBRXZHLDRDQUE0QyxLQUFLO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMkNBQTJDLEtBQUs7QUFDaEQ7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FB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QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4RkFBOEY7QUFDOUY7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxFQUFFLGlIQUFpSDtBQUM1SDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7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RUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUsb0NBQW9DLHVCQUF1QixFQUFFLG9DQUFvQyx3QkFBd0IsRUFBRSxvQ0FBb0MsdUJBQXVCLEVBQUUsb0NBQW9DLHdCQUF3QixFQUFFLG9DQUFvQyx1QkFBdUIsRUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVB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QXVDLDRCQUE0QixFQUFFLGlDQUFpQyx1QkFBdUIsRUFBRSw2QkFBNkIscUNBQXFDLHFDQUFxQyxFQUFFLHdHQUF3RyxzQkFBc0IsdUNBQXVDLHVDQUF1QyxFQUFFLG1DQUFtQyxzQ0FBc0Msc0NBQXNDLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQseUJBQXlCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCx5QkFBeUIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELHlCQUF5QixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRB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cUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNE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RUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELHlCQUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLHNDQUFzQyw0QkFBNEIsNkJBQTZCLEVB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QWlDLHNDQUFzQyxzQ0FBc0MsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QseUJBQXlCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELHlCQUF5QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCw0QkFBNEIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsNEJBQTRCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDRCQUE0QixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCw0QkFBNEIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsNEJBQTRCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDRCQUE0QixFQUFFLHlEQUF5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QUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDRCQUE0QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCw0QkFBNEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFF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RCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQs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QUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFB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ZTs7QUFFZjtBQUNBLGtDQUFrQzs7QUFFbEMsYUFBYSxtQkFBTyxDQUFDLHNHQUFtRDs7QUFFeEU7O0FBRUEsR0FBRyxLQUFVLEVBQUUsRSIsImZpbGUiOiJiYmotZ3JpZC13aWRnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLWdyaWQuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJsdWUuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZGFyay5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQmFzaXNcIl0gPSByb290W1wiQmFzaXNcIl0gfHwge30sIHJvb3RbXCJCYXNpc1wiXVtcIkFnR3JpZENvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/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/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuNScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIHx8IChnbG9iYWxbbmFtZV0gPSB7fSkgOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/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/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG5cbi8qKiBVc2VkIHRvIGVuc3VyZSBjYXB0dXJpbmcgb3JkZXIgb2YgdGVtcGxhdGUgZGVsaW1pdGVycy4gKi9cbnZhciByZU5vTWF0Y2ggPSAvKCReKS87XG5cbi8qKiBVc2VkIHRvIG1hdGNoIHVuZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy4gKi9cbnZhciByZVVuZXNjYXBlZFN0cmluZyA9IC9bJ1xcblxcclxcdTIwMjhcXHUyMDI5XFxcXF0vZztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24gdGhhdCBjYW4gaW50ZXJwb2xhdGUgZGF0YSBwcm9wZXJ0aWVzXG4gKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICogXCJlc2NhcGVcIiBkZWxpbWl0ZXJzLCBhbmQgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLiBEYXRhXG4gKiBwcm9wZXJ0aWVzIG1heSBiZSBhY2Nlc3NlZCBhcyBmcmVlIHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuIElmIGEgc2V0dGluZ1xuICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICpcbiAqICoqTm90ZToqKiBJbiB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYF8udGVtcGxhdGVgIHV0aWxpemVzXG4gKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAqIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gKiBbbG9kYXNoJ3MgY3VzdG9tIGJ1aWxkcyBkb2N1bWVudGF0aW9uXShodHRwczovL2xvZGFzaC5jb20vY3VzdG9tLWJ1aWxkcykuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gKiBbQ2hyb21lJ3MgZXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2V4dGVuc2lvbnMvc2FuZGJveGluZ0V2YWwpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBzaW5jZSAwLjEuMFxuICogQG1lbWJlck9mIF9cbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgdGVtcGxhdGUgc3RyaW5nLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gKiAgVGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXZhbHVhdGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmV2YWx1YXRlXVxuICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLmltcG9ydHM9Xy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNdXG4gKiAgQW4gb2JqZWN0IHRvIGltcG9ydCBpbnRvIHRoZSB0ZW1wbGF0ZSBhcyBmcmVlIHZhcmlhYmxlcy5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gKiAgVGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuc291cmNlVVJMPSd0ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICogIFRoZSBzb3VyY2VVUkwgb2YgdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnZhcmlhYmxlPSdvYmonXVxuICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlciB0byBjcmVhdGUgYSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdmcmVkJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBmcmVkISdcbiAqXG4gKiAvLyBVc2UgdGhlIEhUTUwgXCJlc2NhcGVcIiBkZWxpbWl0ZXIgdG8gZXNjYXBlIGRhdGEgcHJvcGVydHkgdmFsdWVzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPGI+PCUtIHZhbHVlICU+PC9iPicpO1xuICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICogLy8gPT4gJzxiPiZsdDtzY3JpcHQmZ3Q7PC9iPidcbiAqXG4gKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgXy5mb3JFYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBpbnRlcm5hbCBgcHJpbnRgIGZ1bmN0aW9uIGluIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXJzLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnYmFybmV5JyB9KTtcbiAqIC8vID0+ICdoZWxsbyBiYXJuZXkhJ1xuICpcbiAqIC8vIFVzZSB0aGUgRVMgdGVtcGxhdGUgbGl0ZXJhbCBkZWxpbWl0ZXIgYXMgYW4gXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIC8vIERpc2FibGUgc3VwcG9ydCBieSByZXBsYWNpbmcgdGhlIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ3BlYmJsZXMnIH0pO1xuICogLy8gPT4gJ2hlbGxvIHBlYmJsZXMhJ1xuICpcbiAqIC8vIFVzZSBiYWNrc2xhc2hlcyB0byB0cmVhdCBkZWxpbWl0ZXJzIGFzIHBsYWluIHRleHQuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JT0gXCJcXFxcPCUtIHZhbHVlICVcXFxcPlwiICU+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAqIC8vID0+ICc8JS0gdmFsdWUgJT4nXG4gKlxuICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICogdmFyIHRleHQgPSAnPCUganEuZWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+JztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUodGV4dCwgeyAnaW1wb3J0cyc6IHsgJ2pxJzogalF1ZXJ5IH0gfSk7XG4gKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAqIC8vID0+ICc8bGk+ZnJlZDwvbGk+PGxpPmJhcm5leTwvbGk+J1xuICpcbiAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyA8JT0gdXNlciAlPiEnLCB7ICdzb3VyY2VVUkwnOiAnL2Jhc2ljL2dyZWV0aW5nLmpzdCcgfSk7XG4gKiBjb21waWxlZChkYXRhKTtcbiAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gKlxuICogLy8gVXNlIHRoZSBgdmFyaWFibGVgIG9wdGlvbiB0byBlbnN1cmUgYSB3aXRoLXN0YXRlbWVudCBpc24ndCB1c2VkIGluIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gKiBjb21waWxlZC5zb3VyY2U7XG4gKiAvLyA9PiBmdW5jdGlvbihkYXRhKSB7XG4gKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICogLy8gICBfX3AgKz0gJ2hpICcgKyAoKF9fdCA9ICggZGF0YS51c2VyICkpID09IG51bGwgPyAnJyA6IF9fdCkgKyAnISc7XG4gKiAvLyAgIHJldHVybiBfX3A7XG4gKiAvLyB9XG4gKlxuICogLy8gVXNlIGN1c3RvbSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLlxuICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIHt7IHVzZXIgfX0hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ211c3RhY2hlJyB9KTtcbiAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlYCBwcm9wZXJ0eSB0byBpbmxpbmUgY29tcGlsZWQgdGVtcGxhdGVzIGZvciBtZWFuaW5nZnVsXG4gKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAqIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdqc3QuanMnKSwgJ1xcXG4gKiAgIHZhciBKU1QgPSB7XFxcbiAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICogICB9O1xcXG4gKiAnKTtcbiAqL1xuZnVuY3Rpb24gdGVtcGxhdGUoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkge1xuICAvLyBCYXNlZCBvbiBKb2huIFJlc2lnJ3MgYHRtcGxgIGltcGxlbWVudGF0aW9uXG4gIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgLy8gYW5kIExhdXJhIERva3Rvcm92YSdzIGRvVC5qcyAoaHR0cHM6Ly9naXRodWIuY29tL29sYWRvL2RvVCkuXG4gIHZhciBzZXR0aW5ncyA9IHRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0cy5fLnRlbXBsYXRlU2V0dGluZ3MgfHwgdGVtcGxhdGVTZXR0aW5ncztcblxuICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBvcHRpb25zLCBndWFyZCkpIHtcbiAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICB9XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICB2YXIgaW1wb3J0cyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucy5pbXBvcnRzLCBzZXR0aW5ncy5pbXBvcnRzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKSxcbiAgICAgIGltcG9ydHNLZXlzID0ga2V5cyhpbXBvcnRzKSxcbiAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICB2YXIgaXNFc2NhcGluZyxcbiAgICAgIGlzRXZhbHVhdGluZyxcbiAgICAgIGluZGV4ID0gMCxcbiAgICAgIGludGVycG9sYXRlID0gb3B0aW9ucy5pbnRlcnBvbGF0ZSB8fCByZU5vTWF0Y2gsXG4gICAgICBzb3VyY2UgPSBcIl9fcCArPSAnXCI7XG5cbiAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICB2YXIgcmVEZWxpbWl0ZXJzID0gUmVnRXhwKFxuICAgIChvcHRpb25zLmVzY2FwZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAoaW50ZXJwb2xhdGUgPT09IHJlSW50ZXJwb2xhdGUgPyByZUVzVGVtcGxhdGUgOiByZU5vTWF0Y2gpLnNvdXJjZSArICd8JyArXG4gICAgKG9wdGlvbnMuZXZhbHVhdGUgfHwgcmVOb01hdGNoKS5zb3VyY2UgKyAnfCQnXG4gICwgJ2cnKTtcblxuICAvLyBVc2UgYSBzb3VyY2VVUkwgZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gIHZhciBzb3VyY2VVUkwgPSAnc291cmNlVVJMJyBpbiBvcHRpb25zID8gJy8vIyBzb3VyY2VVUkw9JyArIG9wdGlvbnMuc291cmNlVVJMICsgJ1xcbicgOiAnJztcblxuICBzdHJpbmcucmVwbGFjZShyZURlbGltaXRlcnMsIGZ1bmN0aW9uKG1hdGNoLCBlc2NhcGVWYWx1ZSwgaW50ZXJwb2xhdGVWYWx1ZSwgZXNUZW1wbGF0ZVZhbHVlLCBldmFsdWF0ZVZhbHVlLCBvZmZzZXQpIHtcbiAgICBpbnRlcnBvbGF0ZVZhbHVlIHx8IChpbnRlcnBvbGF0ZVZhbHVlID0gZXNUZW1wbGF0ZVZhbHVlKTtcblxuICAgIC8vIEVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgY2FuJ3QgYmUgaW5jbHVkZWQgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgIHNvdXJjZSArPSBzdHJpbmcuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShyZVVuZXNjYXBlZFN0cmluZywgZXNjYXBlU3RyaW5nQ2hhcik7XG5cbiAgICAvLyBSZXBsYWNlIGRlbGltaXRlcnMgd2l0aCBzbmlwcGV0cy5cbiAgICBpZiAoZXNjYXBlVmFsdWUpIHtcbiAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgc291cmNlICs9IFwiJyArXFxuX19lKFwiICsgZXNjYXBlVmFsdWUgKyBcIikgK1xcbidcIjtcbiAgICB9XG4gICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgIGlzRXZhbHVhdGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInO1xcblwiICsgZXZhbHVhdGVWYWx1ZSArIFwiO1xcbl9fcCArPSAnXCI7XG4gICAgfVxuICAgIGlmIChpbnRlcnBvbGF0ZVZhbHVlKSB7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG4oKF9fdCA9IChcIiArIGludGVycG9sYXRlVmFsdWUgKyBcIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xcbidcIjtcbiAgICB9XG4gICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAvLyBUaGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIHByb2R1Y3RzIG5lZWRzIGBtYXRjaGAgcmV0dXJuZWQgaW5cbiAgICAvLyBvcmRlciB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IGBvZmZzZXRgIHZhbHVlLlxuICAgIHJldHVybiBtYXRjaDtcbiAgfSk7XG5cbiAgc291cmNlICs9IFwiJztcXG5cIjtcblxuICAvLyBJZiBgdmFyaWFibGVgIGlzIG5vdCBzcGVjaWZpZWQgd3JhcCBhIHdpdGgtc3RhdGVtZW50IGFyb3VuZCB0aGUgZ2VuZXJhdGVkXG4gIC8vIGNvZGUgdG8gYWRkIHRoZSBkYXRhIG9iamVjdCB0byB0aGUgdG9wIG9mIHRoZSBzY29wZSBjaGFpbi5cbiAgdmFyIHZhcmlhYmxlID0gb3B0aW9ucy52YXJpYWJsZTtcbiAgaWYgKCF2YXJpYWJsZSkge1xuICAgIHNvdXJjZSA9ICd3aXRoIChvYmopIHtcXG4nICsgc291cmNlICsgJ1xcbn1cXG4nO1xuICB9XG4gIC8vIENsZWFudXAgY29kZSBieSBzdHJpcHBpbmcgZW1wdHkgc3RyaW5ncy5cbiAgc291cmNlID0gKGlzRXZhbHVhdGluZyA/IHNvdXJjZS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdMZWFkaW5nLCAnJykgOiBzb3VyY2UpXG4gICAgLnJlcGxhY2UocmVFbXB0eVN0cmluZ01pZGRsZSwgJyQxJylcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsICckMTsnKTtcblxuICAvLyBGcmFtZSBjb2RlIGFzIHRoZSBmdW5jdGlvbiBib2R5LlxuICBzb3VyY2UgPSAnZnVuY3Rpb24oJyArICh2YXJpYWJsZSB8fCAnb2JqJykgKyAnKSB7XFxuJyArXG4gICAgKHZhcmlhYmxlXG4gICAgICA/ICcnXG4gICAgICA6ICdvYmogfHwgKG9iaiA9IHt9KTtcXG4nXG4gICAgKSArXG4gICAgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICtcbiAgICAoaXNFc2NhcGluZ1xuICAgICAgID8gJywgX19lID0gXy5lc2NhcGUnXG4gICAgICAgOiAnJ1xuICAgICkgK1xuICAgIChpc0V2YWx1YXRpbmdcbiAgICAgID8gJywgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XFxuJyArXG4gICAgICAgIFwiZnVuY3Rpb24gcHJpbnQoKSB7IF9fcCArPSBfX2ouY2FsbChhcmd1bWVudHMsICcnKSB9XFxuXCJcbiAgICAgIDogJztcXG4nXG4gICAgKSArXG4gICAgc291cmNlICtcbiAgICAncmV0dXJuIF9fcFxcbn0nO1xuXG4gIHZhciByZXN1bHQgPSBhdHRlbXB0KGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBGdW5jdGlvbihpbXBvcnRzS2V5cywgc291cmNlVVJMICsgJ3JldHVybiAnICsgc291cmNlKVxuICAgICAgLmFwcGx5KHVuZGVmaW5lZCwgaW1wb3J0c1ZhbHVlcyk7XG4gIH0pO1xuXG4gIC8vIFByb3ZpZGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uJ3Mgc291cmNlIGJ5IGl0cyBgdG9TdHJpbmdgIG1ldGhvZCBvclxuICAvLyB0aGUgYHNvdXJjZWAgcHJvcGVydHkgYXMgYSBjb252ZW5pZW5jZSBmb3IgaW5saW5pbmcgY29tcGlsZWQgdGVtcGxhdGVzLlxuICByZXN1bHQuc291cmNlID0gc291cmNlO1xuICBpZiAoaXNFcnJvcihyZXN1bHQpKSB7XG4gICAgdGhyb3cgcmVzdWx0O1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGU7XG4iLCJ2YXIgZXNjYXBlID0gcmVxdWlyZSgnLi9lc2NhcGUnKSxcbiAgICByZUVzY2FwZSA9IHJlcXVpcmUoJy4vX3JlRXNjYXBlJyksXG4gICAgcmVFdmFsdWF0ZSA9IHJlcXVpcmUoJy4vX3JlRXZhbHVhdGUnKSxcbiAgICByZUludGVycG9sYXRlID0gcmVxdWlyZSgnLi9fcmVJbnRlcnBvbGF0ZScpO1xuXG4vKipcbiAqIEJ5IGRlZmF1bHQsIHRoZSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzIHVzZWQgYnkgbG9kYXNoIGFyZSBsaWtlIHRob3NlIGluXG4gKiBlbWJlZGRlZCBSdWJ5IChFUkIpIGFzIHdlbGwgYXMgRVMyMDE1IHRlbXBsYXRlIHN0cmluZ3MuIENoYW5nZSB0aGVcbiAqIGZvbGxvd2luZyB0ZW1wbGF0ZSBzZXR0aW5ncyB0byB1c2UgYWx0ZXJuYXRpdmUgZGVsaW1pdGVycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHR5cGUge09iamVjdH1cbiAqL1xudmFyIHRlbXBsYXRlU2V0dGluZ3MgPSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXNjYXBlJzogcmVFc2NhcGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGNvZGUgdG8gYmUgZXZhbHVhdGVkLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnZXZhbHVhdGUnOiByZUV2YWx1YXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGluamVjdC5cbiAgICpcbiAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgKi9cbiAgJ2ludGVycG9sYXRlJzogcmVJbnRlcnBvbGF0ZSxcblxuICAvKipcbiAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICAndmFyaWFibGUnOiAnJyxcblxuICAvKipcbiAgICogVXNlZCB0byBpbXBvcnQgdmFyaWFibGVzIGludG8gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtPYmplY3R9XG4gICAqL1xuICAnaW1wb3J0cyc6IHtcblxuICAgIC8qKlxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c1xuICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgKi9cbiAgICAnXyc6IHsgJ2VzY2FwZSc6IGVzY2FwZSB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdGVtcGxhdGVTZXR0aW5ncztcbiIsInZhciBiYXNlVG9TdHJpbmcgPSByZXF1aXJlKCcuL19iYXNlVG9TdHJpbmcnKTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nLiBBbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIGBudWxsYFxuICogYW5kIGB1bmRlZmluZWRgIHZhbHVlcy4gVGhlIHNpZ24gb2YgYC0wYCBpcyBwcmVzZXJ2ZWQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvU3RyaW5nKG51bGwpO1xuICogLy8gPT4gJydcbiAqXG4gKiBfLnRvU3RyaW5nKC0wKTtcbiAqIC8vID0+ICctMCdcbiAqXG4gKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiAnMSwyLDMnXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU3RyaW5nO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBcIi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR2VuZXJpYyBTdHlsZXNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuYWctZ3JpZCwgYWctZ3JpZC1hbmd1bGFyLCBhZy1ncmlkLW5nMiwgYWctZ3JpZC1wb2x5bWVyLCBhZy1ncmlkLWF1cmVsaWEge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctaGlkZGVuIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1pbnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctZmFkZWQge1xcbiAgb3BhY2l0eTogMC4zOyB9XFxuXFxuLmFnLXdpZHRoLWhhbGYge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLXVuc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0YWJsZSB7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0ICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1pbnB1dC10ZXh0LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMnM7XFxuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0O1xcbiAgYW5pbWF0aW9uLW5hbWU6IGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQ7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICBmcm9tIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgdG8ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgZnJvbSB7XFxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIHRvIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XFxuXFxuLmFnLXJvb3Qtd3JhcHBlciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1yb290LXdyYXBwZXIuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDEwcHg7XFxuICAgIHJpZ2h0OiAyNXB4O1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAzcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAzczsgfVxcbiAgICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcms6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiAnJztcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU5EazBjSGdpSUdobGFXZG9kRDBpTWpNNWNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBME9UUWdNak01SWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBnb2dJQ0FnUENFdExTQkhaVzVsY21GMGIzSTZJRk5yWlhSamFDQTBOeTR4SUNnME5UUXlNaWtnTFNCb2RIUndPaTh2ZDNkM0xtSnZhR1Z0YVdGdVkyOWthVzVuTG1OdmJTOXphMlYwWTJnZ0xTMCtDaUFnSUNBOGRHbDBiR1UrVEc5bmJ6d3ZkR2wwYkdVK0NpQWdJQ0E4WkdWell6NURjbVZoZEdWa0lIZHBkR2dnVTJ0bGRHTm9Mand2WkdWell6NEtJQ0FnSUR4a1pXWnpQZ29nSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazB3TGpZeE1qZzBPVGt6TVN3eE1EZ2dUREF1TmpFeU9EUTVPVE14TERZM0xqUTFPVFl6TnpRZ1REQXVOakV5T0RRNU9UTXhMRFkzTGpRMU9UWXpOelFnUXpBdU5qRXlPRFE1T1RNeExEWXlMakV3TURZMU16WWdNeTQwTnpFNE16TTNPQ3cxTnk0eE5EZzNORGd6SURndU1URXlPRFE1T1RNc05UUXVORFk1TWpVMk5DQk1PVGd1TXpBMk5ESTFMREl1TXprMU9UY3hOVGNnVERrNExqTXdOalF5TlN3eUxqTTVOVGszTVRVM0lFTXhNREl1T1RRM05EUXhMQzB3TGpJNE16VXlNRE0xT0NBeE1EZ3VOalkxTkRBNUxDMHdMakk0TXpVeU1ETTFPQ0F4TVRNdU16QTJOREkxTERJdU16azFPVGN4TlRjZ1RERXhNeTR6TURZME1qVXNNaTR6T1RVNU56RTFOeUJNTWpBekxqVXNOVFF1TkRZNU1qVTJOQ0JNTWpBekxqVXNOVFF1TkRZNU1qVTJOQ0JETWpBNExqRTBNVEF4Tml3MU55NHhORGczTkRneklESXhNU3cyTWk0eE1EQTJOVE0ySURJeE1TdzJOeTQwTlRrMk16YzBJRXd5TVRFc01UTTRJRXd4T0RFc01UTTRJRXd4T0RBdU9UazNNRFF4TERrekxqazVPVGs1T1RnZ1RERTRNQzQ1T1RZd016SXNPVE11T1RrNU9UazVPU0JETVRnd0xqazVOVFEzTlN3NE5TNDNNVFl4TWpJMklERTNOQzR5TnprNU1Ea3NOemt1TURBeE1EQTROeUF4TmpVdU9UazJNRE15TERjNUxqQXdNVEF3T0RjZ1RERXlNaXczT0M0NU9UazVPVGs1SUVNeE1UTXVOekUxTnpJNUxEYzRMams1T1RrNU9Ua2dNVEEzTERnMUxqY3hOVGN5T0RZZ01UQTNMRGt6TGprNU9UazVPVGtnVERFd055d3hNell1TURFMU5qSXpJRXd4TURjc01UTTJMakF4TlRZeU15QkRNVEEzTERFME5DNHlPVGs0T1RVZ01URXpMamN4TlRjeU9Td3hOVEV1TURFMU5qSXpJREV5TWl3eE5URXVNREUxTmpJeklFd3hOamdzTVRVeExqQXhOVFl5TXlCTU1UWTRMREUyTXlCRE1UWTRMREUyTkM0Mk5UWTROVFFnTVRZMkxqWTFOamcxTkN3eE5qWWdNVFkxTERFMk5pQk1NVEl3TERFMk5pQk1NVEl3TERFM09TQk1NVFkxTGprNU5qQXpNaXd4TnprZ1RERTJOUzQ1T1RZd016SXNNVGM0TGprNU56ZzNOeUJETVRjMExqSTNPVFEzTkN3eE56Z3VPVGszT0RjM0lERTRNQzQ1T1RRNE5pd3hOekl1TWpnek5EUXlJREU0TUM0NU9UWXdNeklzTVRZMElFd3hPREVzTVRVd0xqazJNRFUxTkNCTU1qRXhMREUxTUM0NU5qQTFOVFFnVERJeE1Td3hOekV1TmpBMk1qQTNJRXd5TVRFc01UY3hMall3TmpJd055QkRNakV4TERFM05pNDVOalV4T1RFZ01qQTRMakUwTVRBeE5pd3hPREV1T1RFM01EazJJREl3TXk0MUxERTROQzQxT1RZMU9EZ2dUREV4TXk0ek1EWTBNalVzTWpNMkxqWTJPVGczTXlCTU1URXpMak13TmpReU5Td3lNell1TmpZNU9EY3pJRU14TURndU5qWTFOREE1TERJek9TNHpORGt6TmpVZ01UQXlMamswTnpRME1Td3lNemt1TXpRNU16WTFJRGs0TGpNd05qUXlOU3d5TXpZdU5qWTVPRGN6SUV3NExqRXhNamcwT1RrekxERTROQzQxT1RZMU9EZ2dURGd1TVRFeU9EUTVPVE1zTVRnMExqVTVOalU0T0NCRE15NDBOekU0TXpNM09Dd3hPREV1T1RFM01EazJJREF1TmpFeU9EUTVPVE14TERFM05pNDVOalV4T1RFZ01DNDJNVEk0TkRrNU16RXNNVGN4TGpZd05qSXdOeUJNTUM0Mk1USTRORGs1TXpFc01USXhJRXd5Tnl3eE1qRWdUREkzTERFek5pQkRNamNzTVRRMExqSTROREkzTVNBek15NDNNVFUzTWpnM0xERTFNU0EwTWl3eE5URWdURFF5TERFMU1TQk1NVEF3TERFMU1TQk1NVEF3TERrMElFTXhNREFzT0RVdU56RTFOekk0T0NBNU15NHlPRFF5TnpFeUxEYzVJRGcxTERjNUlFd3lOeXczT1NCTU1qY3NPVElnVERnMExEa3lJRU00TlM0Mk5UWTROVFF5TERreUlEZzNMRGt6TGpNME16RTBOVGdnT0Rjc09UVWdURGczTERrMUlFdzROeXd4TURnZ1REQXVOakV5T0RRNU9UTXhMREV3T0NCYUlpQnBaRDBpY0dGMGFDMHhJajQ4TDNCaGRHZytDaUFnSUNBOEwyUmxabk0rQ2lBZ0lDQThaeUJwWkQwaVUzbHRZbTlzY3lJZ2MzUnliMnRsUFNKdWIyNWxJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqRWlJR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dhV1E5SWt4dloyOGlQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5EYzNMRFUxSUV3ME9UUXNOVFVnVERRNU5Dd3hOVEVnVERRek5Td3hOVEVnUXpReU5pNDNNVFUzTWprc01UVXhJRFF5TUN3eE5EUXVNamcwTWpjeElEUXlNQ3d4TXpZZ1REUXlNQ3c1TmlCRE5ESXdMRGczTGpjeE5UY3lPRGdnTkRJMkxqY3hOVGN5T1N3NE1TQTBNelVzT0RFZ1REUXpOU3c0TVNCTU5EYzNMRGd4SUV3ME56Y3NOVFVnV2lCTk5EUXdMRGs0SUVNME16Z3VNelF6TVRRMkxEazRJRFF6Tnl3NU9TNHpORE14TkRVNElEUXpOeXd4TURFZ1REUXpOeXd4TXpFZ1F6UXpOeXd4TXpJdU5qVTJPRFUwSURRek9DNHpORE14TkRZc01UTTBJRFEwTUN3eE16UWdURFEzTnl3eE16UWdURFEzTnl3NU9DQk1ORFF3TERrNElGb2lJR2xrUFNKa0lpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKcElpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d6T1RZdU1EQXdNREF3TENBMU5TNHdNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHdiMng1WjI5dUlHbGtQU0pRWVhSb0xUWWlJR1pwYkd3OUlpTkdSa1pHUmtZaUlIQnZhVzUwY3owaU1DQXlOaUF4TnlBeU5pQXhOeUE1TmlBd0lEazJJajQ4TDNCdmJIbG5iMjQrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0c5c2VXZHZiaUJwWkQwaVVHRjBhQzAzSWlCbWFXeHNQU0lqUlRFeFJqSXlJaUJ3YjJsdWRITTlJakFnTVM0eE16WTROamd6T0dVdE1UTWdNVGNnTVM0eE16WTROamd6T0dVdE1UTWdNVGNnTVRjZ01DQXhOeUkrUEM5d2IyeDVaMjl1UGdvZ0lDQWdJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHpNekVzTVRVeElFd3pORGdzTVRVeElFd3pORGdzTVRBeElFd3pORGdzTVRBeElFTXpORGdzT1RrdU16UXpNVFExT0NBek5Ea3VNelF6TVRRMkxEazRJRE0xTVN3NU9DQk1Nemc1TERrNElFd3pPRGtzT0RFZ1RETTBOaXc0TVNCTU16UTJMRGd4SUVNek16Y3VOekUxTnpJNUxEZ3hJRE16TVN3NE55NDNNVFUzTWpnNElETXpNU3c1TmlCTU16TXhMREUxTVNCYUlpQnBaRDBpY2lJZ1ptbHNiRDBpSTBaR1JrWkdSaUkrUEM5d1lYUm9QZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16STBMRGcySUV3ek1qUXNOellnVERNeU5DdzNOaUJETXpJMExEWTNMamN4TlRjeU9EZ2dNekUzTGpJNE5ESTNNU3cyTVNBek1Ea3NOakVnVERJME9TdzJNU0JNTWpRNUxEWXhJRU15TkRBdU56RTFOekk1TERZeElESXpOQ3cyTnk0M01UVTNNamc0SURJek5DdzNOaUJNTWpNMExERXpOaUJNTWpNMExERXpOaUJETWpNMExERTBOQzR5T0RReU56RWdNalF3TGpjeE5UY3lPU3d4TlRFZ01qUTVMREUxTVNCTU16QTVMREUxTVNCTU16QTVMREUxTVNCRE16RTNMakk0TkRJM01Td3hOVEVnTXpJMExERTBOQzR5T0RReU56RWdNekkwTERFek5pQk1NekkwTERFd01DQk1NamczTERFd01DQk1NamczTERFeE55Qk1NekEzTERFeE55Qk1NekEzTERFek1TQk1NekEzTERFek1TQkRNekEzTERFek1pNDJOVFk0TlRRZ016QTFMalkxTmpnMU5Dd3hNelFnTXpBMExERXpOQ0JNTWpVMExERXpOQ0JNTWpVMExERXpOQ0JETWpVeUxqTTBNekUwTml3eE16UWdNalV4TERFek1pNDJOVFk0TlRRZ01qVXhMREV6TVNCTU1qVXhMRGd4SUV3eU5URXNPREVnUXpJMU1TdzNPUzR6TkRNeE5EVTRJREkxTWk0ek5ETXhORFlzTnpnZ01qVTBMRGM0SUV3ek1EUXNOemdnVERNd05DdzNPQ0JETXpBMUxqWTFOamcxTkN3M09DQXpNRGNzTnprdU16UXpNVFExT0NBek1EY3NPREVnVERNd055dzROaUJNTXpJMExEZzJJRm9pSUdsa1BTSkhJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSmhaeUkrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4WnlCcFpEMGlRMjl0WW1sdVpXUXRVMmhoY0dVaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh0WVhOcklHbGtQU0p0WVhOckxUSWlJR1pwYkd3OUluZG9hWFJsSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqY0dGMGFDMHhJajQ4TDNWelpUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDIxaGMycytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhWelpTQm1hV3hzUFNJalJURXhSakl5SWlCNGJHbHVhenBvY21WbVBTSWpjR0YwYUMweElqNDhMM1Z6WlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHlaV04wSUdsa1BTSm5JaUJtYVd4c1BTSWpSVEV4UmpJeUlpQjRQU0l4TWpBaUlIazlJamt5SWlCM2FXUjBhRDBpTkRnaUlHaGxhV2RvZEQwaU5EWWlJSEo0UFNJeklqNDhMM0psWTNRK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5EQXNNVEl4SUV3NE55d3hNakVnVERnM0xERXpPQ0JNTkRNc01UTTRJRXcwTXl3eE16Z2dRelF4TGpNME16RTBOVGdzTVRNNElEUXdMREV6Tmk0Mk5UWTROVFFnTkRBc01UTTFJRXcwTUN3eE1qRWdXaUlnYVdROUlrTnZiV0pwYm1Wa0xWTm9ZWEJsSWlCbWFXeHNQU0lqUlRFeFJqSXlJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09KTtcXG4gICAgICAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDUwJSk7XFxuICAgICAgZmlsdGVyOiBpbnZlcnQoNTAlKTtcXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTEwcHggNjBweDtcXG4gICAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgICBoZWlnaHQ6IDYwcHg7XFxuICAgICAgd2lkdGg6IDExMHB4OyB9XFxuICAgIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyayAuYWctd2F0ZXJtYXJrLXRleHQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICBmb250LWZhbWlseTogSW1wYWN0O1xcbiAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxcblxcbi5hZy1yb290LXdyYXBwZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuICAuYWctcm9vdC13cmFwcGVyLWJvZHkuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIGhlaWdodDogMDtcXG4gICAgbWluLWhlaWdodDogMDsgfVxcblxcbi5hZy1yb290IHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAuYWctcm9vdC5hZy1sYXlvdXQtbm9ybWFsLCAuYWctcm9vdC5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICB3aWR0aDogMDsgfVxcbiAgLmFnLXJvb3QuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIGhlaWdodDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVmlld3BvcnRzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXItdmlld3BvcnQsXFxuLmFnLWZsb2F0aW5nLXRvcC12aWV3cG9ydCxcXG4uYWctYm9keS12aWV3cG9ydCxcXG4uYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCxcXG4uYWctY2VudGVyLWNvbHMtdmlld3BvcnQsXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLXZpZXdwb3J0LFxcbi5hZy1mbG9hdGluZy1ib3R0b20tdmlld3BvcnQsXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQsXFxuLmFnLXZpcnR1YWwtbGlzdC12aWV3cG9ydCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LW5vcm1hbCB7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQ6bm90KC5hZy1sYXlvdXQtcHJpbnQpLmFnLWZvcmNlLXZlcnRpY2FsLXNjcm9sbCB7XFxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLXZpZXdwb3J0LCAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLmFnLWNlbnRlci1jb2xzLXZpZXdwb3J0IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXZpZXdwb3J0IHtcXG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxcblxcbi5hZy12aXJ0dWFsLWxpc3Qtdmlld3BvcnQge1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29udGFpbmVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctdG9wLWNvbnRhaW5lcixcXG4uYWctYm9keS1jb250YWluZXIsXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLWNvbnRhaW5lcixcXG4uYWctY2VudGVyLWNvbHMtY29udGFpbmVyLFxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWNvbnRhaW5lcixcXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC1jb250YWluZXIsXFxuLmFnLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLXZpcnR1YWwtbGlzdC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWhlYWRlci1jb250YWluZXIsIC5hZy1mbG9hdGluZy10b3AtY29udGFpbmVyLCAuYWctZmxvYXRpbmctYm90dG9tLWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgbWluLWhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1hdXRvLWhlaWdodCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciwgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LWF1dG8taGVpZ2h0IC5hZy1jZW50ZXItY29scy1jb250YWluZXIge1xcbiAgbWluLWhlaWdodDogNTBweDsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IC5hZy1jZW50ZXItY29scy1jb250YWluZXIge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtcHJpbnQge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gIC1tcy1mbGV4OiBub25lO1xcbiAgZmxleDogbm9uZTsgfVxcbiAgLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LXByaW50IC5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1jb2xzLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLXRvcC1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMHB4O1xcbiAgbGVmdDogMHB4O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctYm90dG9tLWZ1bGwtd2lkdGgtY29udGFpbmVyLCAuYWctZmxvYXRpbmctdG9wLWZ1bGwtd2lkdGgtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy12aXJ0dWFsLWxpc3QtY29udGFpbmVyIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFNjcm9sbGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDE7XFxuICBmbGV4OiAxO1xcbiAgbWluLXdpZHRoOiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gIG1pbi1oZWlnaHQ6IDA7XFxuICBtaW4td2lkdGg6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWxheW91dC1wcmludCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuXFxuLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBtaW4td2lkdGg6IDA7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7XFxuICBvdmVyZmxvdy14OiBzY3JvbGw7IH1cXG4gIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogSGVhZGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctaGVhZGVyLCAuYWctcGlubmVkLWxlZnQtaGVhZGVyLCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtc29ydGFibGUsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi5hZy1oZWFkZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctaGVhZGVyLWljb24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItcm93IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctaGVhZGVyLW92ZXJsYXkge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtY2VsbC1sYWJlbCwgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItY2VsbC10ZXh0IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG5cXG4uYWctaGVhZGVyLWdyb3VwLXRleHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiA0cHg7IH1cXG5cXG4uYWctaGVhZGVyLWV4cGFuZC1pY29uIHtcXG4gIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuXFxuLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbHVtbnNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNvbHVtbi1tb3ZpbmcgLmFnLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnM7IH1cXG5cXG4uYWctY29sdW1uLW1vdmluZyAuYWctaGVhZGVyLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnM7IH1cXG5cXG4uYWctY29sdW1uLW1vdmluZyAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuMnMsIHdpZHRoIDAuMnM7XFxuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMsIHdpZHRoIDAuMnM7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIENvbHVtbiBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY29sdW1uLXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDQ7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogNDtcXG4gIGZsZXgtZ3JvdzogNDtcXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xcbiAgZmxleC1zaHJpbms6IDE7XFxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gIGZsZXgtYmFzaXM6IDA7IH1cXG4gIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgZmxleDogbm9uZTsgfVxcbiAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctY29sdW1uLW5hbWUtZmlsdGVyIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIgaW5wdXQge1xcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG92ZXJmbG93OiBhdXRvOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAgIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgMHB4O1xcbiAgZmxleDogMSAxIDA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IGRpdiB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgIGZsZXgtZ3JvdzogMTtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBSb3dzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1yb3ctYW5pbWF0aW9uIC5hZy1yb3cge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xcbiAgdHJhbnNpdGlvbjogdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40cztcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7IH1cXG5cXG4uYWctcm93LW5vLWFuaW1hdGlvbiAuYWctcm93IHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuXFxuLmFnLXJvdyB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcm93LXBvc2l0aW9uLWFic29sdXRlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1yb3ctcG9zaXRpb24tcmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuXFxuLmFnLWZ1bGwtd2lkdGgtcm93IHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XFxuXFxuLmFnLXJvdy1pbmxpbmUtZWRpdGluZyB7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJvdy1kcmFnZ2luZyB7XFxuICB6LWluZGV4OiAyOyB9XFxuXFxuLmFnLXN0dWItY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ2VsbHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWNlbGwge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1jZWxsLXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTsgfVxcbiAgLmFnLWNlbGwtd3JhcHBlci5hZy1yb3ctZ3JvdXAge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy1jZWxsLXdyYXBwZXIgLmFnLWNlbGwtdmFsdWUsIC5hZy1jZWxsLXdyYXBwZXIgLmFnLWdyb3VwLXZhbHVlIHtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1yb3cuYWctcm93LWdyb3VwIC5hZy1jZWxsLXdyYXBwZXIge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuXFxuLmFnLWNlbGwtd2l0aC1oZWlnaHQge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWdyb3VwLWNlbGwtZW50aXJlLXJvdyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZm9vdGVyLWNlbGwtZW50aXJlLXJvdyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICB6LWluZGV4OiAxOyB9XFxuICAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyAuYWctY2VsbC1lZGl0LWlucHV0LCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmlsdGVyc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItY2hlY2tib3gge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuXFxuLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEZsb2F0aW5nIEZpbHRlclxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSAuYWctcmVhY3QtY29udGFpbmVyLCAuYWctZmxvYXRpbmctZmlsdGVyLWJvZHkgLmFnLXJlYWN0LWNvbnRhaW5lciB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5ID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgaW5wdXQge1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dFt0eXBlPVxcXCJyYW5nZVxcXCJdIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0IHtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1pbnB1dDotbW96LXJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1pbnB1dDpyZWFkLW9ubHkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItbWVudSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBEcmFnICYgRHJvcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZG5kLWdob3N0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgY3Vyc29yOiBtb3ZlO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMS40O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBhZGRpbmc6IDNweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDEwOyB9XFxuXFxuLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gIHBhZGRpbmc6IDJweDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogT3ZlcmxheVxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctb3ZlcmxheSB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1vdmVybGF5LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1vdmVybGF5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLW92ZXJsYXktd3JhcHBlci5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG5cXG4uYWctb3ZlcmxheS1uby1yb3dzLXdyYXBwZXIuYWctbGF5b3V0LWF1dG8taGVpZ2h0IHtcXG4gIHBhZGRpbmctdG9wOiAzMHB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBQb3B1cFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcG9wdXAgPiBkaXYge1xcbiAgei1pbmRleDogNTsgfVxcblxcbi5hZy1wb3B1cC1iYWNrZHJvcCB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBsZWZ0OiAwO1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcG9wdXAtZWRpdG9yIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBWaXJ0dWFsIExpc3RzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHNwYW46ZW1wdHk6bm90KC5hZy1pY29uKSB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIEZsb2F0aW5nIFRvcCBhbmQgQm90dG9tXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy10b3Age1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLXRvcCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLXRvcCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctZmxvYXRpbmctYm90dG9tIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1mbG9hdGluZy1ib3R0b20ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1mbG9hdGluZy1ib3R0b20ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTAwMDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAxMDAwO1xcbiAgZmxleC1ncm93OiAxMDAwOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBEaWFsb2dcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWRpYWxvZyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICB6LWluZGV4OiAxOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3BMZWZ0IHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGxlZnQ6IDVweDtcXG4gICAgICByaWdodDogNXB4O1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci10b3BSaWdodCB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBuZXN3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItcmlnaHQge1xcbiAgICAgIHRvcDogNXB4O1xcbiAgICAgIHJpZ2h0OiAwO1xcbiAgICAgIGJvdHRvbTogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBldy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbVJpZ2h0IHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b20ge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBsZWZ0OiA1cHg7XFxuICAgICAgcmlnaHQ6IDVweDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tTGVmdCB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1sZWZ0IHtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIHRvcDogNXB4O1xcbiAgICAgIGJvdHRvbTogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBldy1yZXNpemU7IH1cXG4gIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICBmbGV4OiBub25lO1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci10aXRsZSB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XFxuICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctY29udGVudC13cmFwcGVyIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLWNvbnRlbnQtd3JhcHBlciA+IGRpdiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1jb250ZW50IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbHRpcFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHotaW5kZXg6IDk5OTk5OyB9XFxuXFxuLmFnLWNoYXJ0LXRvb2x0aXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHotaW5kZXg6IDk5OTk5O1xcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JheTtcXG4gIGZvbnQ6IDEycHggVmVyZGFuYSwgc2Fucy1zZXJpZjtcXG4gIHBhZGRpbmc6IDdweDtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ0LCAyNDQsIDI0NCwgMC45KTtcXG4gIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctY2hhcnQtdG9vbHRpcCAudGl0bGUge1xcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQW5pbWF0aW9uc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdmFsdWUtc2xpZGUtb3V0IHtcXG4gIG1hcmdpbi1yaWdodDogNXB4O1xcbiAgb3BhY2l0eTogMTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzcywgbWFyZ2luLXJpZ2h0IDNzO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzcywgbWFyZ2luLXJpZ2h0IDNzO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbi5hZy12YWx1ZS1zbGlkZS1vdXQtZW5kIHtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG4gIG9wYWNpdHk6IDA7IH1cXG5cXG4uYWctb3BhY2l0eS16ZXJvIHtcXG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogTWVudVxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctbWVudSB7XFxuICBtYXgtaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgaGVpZ2h0OiAyNjVweDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgd2lkdGg6IDIwMHB4OyB9XFxuXFxuLmFnLW1lbnUtbGlzdCB7XFxuICBkaXNwbGF5OiB0YWJsZTsgfVxcblxcbi5hZy1tZW51LW9wdGlvbiwgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxcbiAgLmFnLW1lbnUtb3B0aW9uID4gc3BhbiwgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG5cXG4uYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUmljaCBTZWxlY3RcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXJpY2gtc2VsZWN0IHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIG91dGxpbmU6IG5vbmU7IH1cXG4gIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSA+IHNwYW4ge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUgLmFnLWljb24ge1xcbiAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgb3JkZXI6IDE7IH1cXG4gIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBhZ2luYXRpb25cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cXG5cXG4uYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWRpc2FibGVkIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFRvb2wgUGFuZWxcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgd2lkdGg6IDIwMHB4OyB9XFxuICAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4sXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgZmxleC13cmFwOiBub3dyYXA7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4gIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICBjdXJzb3I6IGNvbC1yZXNpemU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogNXB4O1xcbiAgei1pbmRleDogMTsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtaG9yaXpvbnRhbC1yZXNpemUge1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpOyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxcblxcbi5sb2FkaW5nLWZpbHRlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgcGFkZGluZzogNXB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzNHB4O1xcbiAgd2lkdGg6IDEwMCU7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLWRldGFpbHMtcm93IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWRldGFpbHMtZ3JpZCB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxcblxcbi5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XFxuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogR3JvdXAgQ29tcG9uZW50XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKi9cXG4uYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuICAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogLTEwcHg7IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFNpZGUgQmFyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zaWRlLWJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGRpdiBidXR0b24ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgb3V0bGluZTogbm9uZTtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGRpdiBidXR0b24gc3Bhbjpub3QoLmFnLWljb24pIHtcXG4gICAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgLW1zLXdyaXRpbmctbW9kZTogdGI7XFxuICAgICAgd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XFxuICAgICAgLW1zLXdyaXRpbmctbW9kZTogdGItbHI7XFxuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsgfVxcbiAgLmFnLXNpZGUtYmFyIC5wYW5lbC1jb250YWluZXIge1xcbiAgICB3aWR0aDogMTgwcHg7IH1cXG4gIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5wYW5lbC1jb250YWluZXIge1xcbiAgICB3aWR0aDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIGJ1dHRvbiBzcGFuOm5vdCguYWctaWNvbikge1xcbiAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgLW1zLXdyaXRpbmctbW9kZTogdGItcmw7XFxuICB3cml0aW5nLW1vZGU6IHRiLXJsO1xcbiAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xcbiAgLW1zLXdyaXRpbmctbW9kZTogdGItcmw7XFxuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBTdGF0dXMgQmFyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zdGF0dXMtYmFyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctc3RhdHVzLWJhciAuYWctc3RhdHVzLXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItbGVmdCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcblxcbi5hZy1zdGF0dXMtYmFyLXJpZ2h0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctbGVmdDogNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctbGVmdDogNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctbGVmdDogNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctbGVmdDogODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDExMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1sZWZ0OiAxMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDE3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1sZWZ0OiAxOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgcGFkZGluZy1yaWdodDogMTkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDIzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1sZWZ0OiAyNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgcGFkZGluZy1yaWdodDogMjUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctbGVmdDogMjcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1sZWZ0OiAzMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgcGFkZGluZy1yaWdodDogMzEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctbGVmdDogMzMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1sZWZ0OiAzNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgcGFkZGluZy1yaWdodDogMzcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1sZWZ0OiA0MzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgcGFkZGluZy1yaWdodDogNDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctbGVmdDogNDUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1sZWZ0OiA0OTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgcGFkZGluZy1yaWdodDogNDkwcHg7IH1cXG5cXG4uYWctbHRyIHtcXG4gIGRpcmVjdGlvbjogbHRyOyB9XFxuICAuYWctbHRyIC5hZy1ib2R5LCAuYWctbHRyIC5hZy1mbG9hdGluZy10b3AsIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLWx0ciAuYWctaGVhZGVyLCAuYWctbHRyIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctbHRyIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHJpZ2h0OiAtNHB4OyB9XFxuICAuYWctbHRyIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBsZWZ0OiAtNHB4OyB9XFxuXFxuLmFnLXJ0bCB7XFxuICBkaXJlY3Rpb246IHJ0bDsgfVxcbiAgLmFnLXJ0bCAuYWctYm9keSwgLmFnLXJ0bCAuYWctZmxvYXRpbmctdG9wLCAuYWctcnRsIC5hZy1mbG9hdGluZy1ib3R0b20sIC5hZy1ydGwgLmFnLWhlYWRlciwgLmFnLXJ0bCAuYWctYm9keS12aWV3cG9ydCwgLmFnLXJ0bCAuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cXG4gIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG4gIC5hZy1ydGwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG5cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLXJvdyB7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XFxuXFxuLmFnLWJvZHkgLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctYm9keSAuYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQge1xcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuXFxuLmFnLWNoYXJ0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNhbnZhcy13cmFwcGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LWNhbnZhcy13cmFwcGVyIGNhbnZhcyB7XFxuICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAxMHB4O1xcbiAgICByaWdodDogMjBweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51ID4gZGl2IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItaGVhZGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy10YWItYm9keSA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIHtcXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICAgICAgICBvcGFjaXR5OiAwLjI7IH1cXG4gICAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1wcmV2LWJ0biwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtbmV4dC1idG4ge1xcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAgIGhlaWdodDogMjRweDtcXG4gICAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxuICAgICAgICBmb250LXNpemU6IDI0cHg7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuIGJ1dHRvbiwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtbmV4dC1idG4gYnV0dG9uIHtcXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgICB0b3A6IDA7XFxuICAgICAgICAgIGxlZnQ6IDA7XFxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgICAgb3BhY2l0eTogMDsgfVxcbiAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlci5hZy1hbmltYXRpbmcsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlci5hZy1hbmltYXRpbmcge1xcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XFxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCB7XFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciAuYWctY2hhcnQtbWluaS10aHVtYm5haWwgY2FudmFzIHtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LWRhdGEtd3JhcHBlciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcblxcbi5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW4ge1xcbiAgICBvcGFjaXR5OiAwLjU7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIG1hcmdpbjogMnB4IDA7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQ6aG92ZXIgLmFnLWNoYXJ0LW1lbnU6bm90KC5hZy1oYXMtcG9wdXApIHtcXG4gIG9wYWNpdHk6IDE7XFxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XFxuICAuYWctY2hhcnQ6aG92ZXIgLmFnLWNoYXJ0LW1lbnU6bm90KC5hZy1oYXMtcG9wdXApOmhvdmVyID4gc3BhbiB7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5IHtcXG4gIHBhZGRpbmc6IDA7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgbWFyZ2luOiA1cHg7XFxuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIHtcXG4gIHBhZGRpbmc6IDAgMTBweDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIHtcXG4gICAgcGFkZGluZzogMCAxMHB4OyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG5cXG4vKiB0YXJnZXRzIElFMTEgb25seSAqL1xcbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wmc3L0dKQUFBQUY0QUFBYkJHaGxZV1FWTXlRSEFBQWNmQUFBQURab2FHVmhCOElEK0FBQUhMUUFBQUFrYUcxMGVOSUFJZ01BQUJ6WUFBQUEzR3h2WTJHN3BNSWVBQUFkdEFBQUFIQnRZWGh3QUVRQWxRQUFIaVFBQUFBZ2JtRnRaZENGS0dJQUFCNUVBQUFCd25CdmMzUUFBd0FBQUFBZ0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQURBRC8vL3dQQkE0RUFKd0JRQUhBQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l3RWpOU0VjQVJVZUFSY1dCZ2NPQVJVaE5UTVZJVFEyTno0Qkp5NEJKelVoQXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW4rQlNVNkFRRUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCQVFNQ05TUkpTRW1SU1VoSkFlQkEvd0FCZFJrUUNoZ25WZ0VBUVA2QUJoc3RaQ0F1WWdJQmdBT0FBbHcrU1VsSmtrbEpTVDVjQWdFQkFRRUNYRDVKU1VtU1NVbEpQbHdDQVFFQlFUZ21TRWxKa2tsSlNTUTFBZ01CQVFFQkF3STFKRWxKU3BKS1NVa2tOUUlEQVFFQi93QkFBUUVCSUVJckhFUVhJajBhUUlBbVRCZ25SeDhwUnpSRkFBRUFVd0FUQTYwRGJRQW5BQUFURndjbk54NEJGd2NoRVFjbk54NEJGd2NuRVNFbk54NEJGd2NuTnlFUk54NEJGd2NuTnhjUnpVb3VscFlNRmd4S0FSTkpMcGNtU3lZdVNRRVRTaTRsVENXV0xrcis3VWtNRmd5WGx5NUpBYUJKTHBlWERCWU1TUUVUU2k2V0pVd2xMa3IrN1VrdUprc21seTVKL3UxS0RCWU1scFl1U2dFVEFBQUJBU2tBbVFMWEF1Y0FDZ0FBQVFjbk54NEJGd2NuRVNNQjRJa3UxelpyTmk2SlFBSnNpUzNYTm1zMkxZbitMUUFEQUlBQVFBT0FBMEFBR3dBM0FFWUFBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyRXpjZUFSY0hGd2NuQnljM0p6Y1hBZ0JQUmtacEhoNGVIbWxHUms5UFJrWnBIaDRlSG1sR1JrOUNPenBYR1JrWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBLcERCWU1xcW91cWFrdXFxb3VxUU5BSGg1cFJrWlBUMFpHYVI0ZUhoNXBSa1pQVDBaR2FSNGVRQmtaVnpvN1FrSTdPbGNaR1JrWlZ6bzdRa0k3T2xjWkdmN3RxZ3dXREttcExxcXFMcW1wTHFvQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQURBQUQvd0FRQUE4QUFFQUFoQUNrQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZakV5RWlCaFVSRkJZeklUSTJOUkUwSmlNSEFTYzNGd0VlQVFOSS9YQk1iR3hNQXBCTWJHeE1BdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBQUFBd0FBLzhBRUFBUEFBQkFBSVFBbEFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZakF5RTFJUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMaVg5dGdKS1FHeE1BcEJNYkd4TS9YQk1iQU81UVMzOWJTNUFRQzRDa3kxQi9pSktBQUFBQWdBQS84QUVBQVBBQUJBQUlRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUl3TklUR3hzVFAxd1RHeHNUQUtRQXYxdExVRkJMUUtUTFVGQUxnUEFiRXo5Y0V4c2JFd0NrRXhzUjBFdC9XMHVRRUF1QXBNdFFRQUNBTUFBb0FIQUF1QUFDUUFQQUFBbElSRWhGQlVjQVJVVUF4RXpFU29CQWNEL0FBRUF3SUFnUUtBQ1FFaElTSkJJU0FHNC9rQUJ3QUFBQUFBRUFNQUFvQU5BQXVBQUF3QUhBQXNBRHdBQUpTTVJNeE1qRVRNVEl4RXpBU01STXdIQVFFREFRRURBUUVEOXdFQkFvQUpBL2NBQ1FQM0FBa0Q5d0FKQUFBQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBd0NnQUVBRFlBTkFBQkFBSUFBekFBQWxJeUltTlJFME5qc0JNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZQkl6d0JOUkUwTmpNaE9nRXpGU0VpQmhVUkFyNzdRMkJnUS90RFgxOURCZjc5SnpjM0p3RURKemMzL2ZkQlgwTUJtZ0VDQWY1ZEpqWkFYMFFCT2tOZ1lFUCt4a1JmQWtBNEp2NjdKemMzSndGRkpqaitBQUVFQWdJWFExOUFOaWI5M0FBQUFBQUJBU2tBNlFMWEFwY0FEZ0FBQVRjZUFSY0hGd2NuQnljM0p6Y1hBZ0NwREJZTXFxb3VxYWt1cXFvdXFRSHRxZ3dXREttcExxcXFMcW1wTHFvQUFBQUFCUUJBQUFBRHdBT0FBQ1VBTWdBL0FFc0FVUUFBQVQ0Qk5UUW1JeUlHRlJRV016STJOeGNITGdFaklnWVZGQll6TWpZMU5DWW5Od0V6TlFFSElpWTFORFl6TWhZVkZBWWpFU0ltTlRRMk16SVdGUlFHSXdFaUpqVTBOak15RmhVVUJna0JGd0UxSXdHV0NBaHBTa3BwYVVvVUpSRnBhUkVsRkVwcGFVcEthUWdJYWdFNmh2M1dveVUwTkNVbE5UVWxKVFEwSlNVMU5TVUJEUWtORFFrSkRRMEJNZjd6V1FFNmhnS0RFU1VVU21scFNrcHBDQWhxYWdnSWFVcEthV2xLRkNVUmFmN0hMUUlwRURVbEpUUTBKU1UxL2VjMEpTVTFOU1VsTkFGUURRa0pEUTBKQ1EwQnFmN3pXUUU1TFFBQUJ3Q0dBRllEZWdNcUFBc0FEd0FiQUNnQUxBQTRBRHdBQURjaUJoVVVGak15TmpVMEpnVTFJUlVESWdZVkZCWXpNalkxTkNZSE1oWVZGQVlqSWlZMU5EWXpCU0UxSVFFeUZoVVVCaU1pSmpVME5nVWhOU0hHR2lZbUdoc2xKUUtaL2VhYUdpWW1HaHNsSlJzU0dSa1NFUmtaRVFJSi9wRUJiLzMzR3lVbEd4b21KZ0xPL2VZQ0d0WW1HaHNsSlJzYUptdFZWUUdWSmhvYUppWWFHaVlWR1JJU0dSa1NFaGxXVmdFL0pSc2FKaVlhR3lWcVZRQUFBQUVCS1FDWkF0Y0M1d0FLQUFBQk54NEJGd2NuTnhjUk13SWdpUXdXRE5mWExvbEFBUlNKQ3hjTDE5Y3RpUUhUQUFFQlhnQ3BBcUlDMXdBTUFBQUpBU2MzSnpjV0Z4NEJGeFlYQXFMKzZTM3A2UzBqSXlORkl5TWpBY0QrNlM3cDZTNGpJeU5HSWlNakFBQUFBQVVBUXdCekE3MEREUUFzQUVvQWFBQnpBSDBBQUFFK0FUYzZBVE1XRng0QkZ4WVhNQVlIRGdFSEZ3Y25CZ2NHSmljbUp5NEJKeTRCSnpBMk56NEJOeWMzRndjT0FROEJGaGNlQVJjV056NEJOeWNPQVNNaUp5NEJKeVkxTkRZM0p3RStBVDhCSmljdUFTY21CdzRCQnhjK0FUTXlGeDRCRnhZVkZBWUhGd0VPQVJVVUZqTXlOamNuQlQ0Qk5UUW1JeUlHQndFcUwyZzJCd1FIU0VOQ2NpMHRHemt1RUNRVFBpMUxPVUJBZ0Q0OU5TbEVHUW9QQ2lVYkZ6Y2dQaTFLQ2pGT0dBRWROemVKVEV4SUN4WUtIUnhFSmk4b0tUMFNFUmNWTUFIQk1VMFlBUmduS0dVN096NHBVQ1VrSEVRbUxpa3BQUkVTR0JVcS9wME1EbDVDR0MwVDNnRUxEUTVlUWhrc0V3TEVGeHNDQWhnWFVqazRSSFl3RVI0TlBpMUxIQTBNQ0JVVkpoNUtMQkVpR0ZNa0h6WVdQaTFKVVNGWk53SkZOVFUvQndjWEJBZ0ZIUlVZRWhJOEtTa3VKa1FjTWY2WklWbzNBamd1TGtFU0VnRUJFeEVqRlJjUkVqMHBLQzhsUlJ3cUFRZ1RMQmxDWGc0TjNiQVRMUmhEWFE0TUFBUUFRd0NaQTcwQzlnQWtBRU1BWUFCekFBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFbkppY3VBU2N1QVNjd05qYzJOejRCTnpZM09nRXpCd1lIRGdFSEJnOEJGaGNlQVJjV056WTNQZ0UzTmo4QkppY3VBU2NtSXhjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZ6QTBNVFFtSXlJR0hRRVVGak15TmpVd05BSUpTRU5DY2kwdEd6a3VPazVPcUZOVVJTbEVHUW9QQ2lVYklDa3FZRFUxTndjRUJ4RTdPRGRnSnlZWUFSMDNONGxNVEVncUpTWkFHaG9TQVJnbktHVTdPejRJTFNnbk94RVNFaEU3SnlndExTZ25PeEVTRWhFN0p5Z3RvRjVDUWw1ZVFrSmVBdllDR0JkU09UaEVkakE5SXlRUUZSUXlIa29zRVNJWVV5UXJJeU15RGc0Q1FBSVNFMEF0TERZQ1JUVTFQd2NIRncwV0Zqc2pJeWdET0M0dFFoSVJIeEVST3ljb0xTMG9KenNTRVJFU095Y29MUzBvSnpzUkVkZ0JRbDVlUWdKQ1hsNUNBUUFBQUFBQ0FNQUFvQU5BQXdBQUhRQTdBQUFCQmdjT0FRY0dCdzRCSFFFSE5EWW5OQ1luSmljdUFTY21KelVoSEFFRkZCWVhGaGNlQVJjV0Z4VTNOVFkzUGdFM05qYytBVFVpSXlvQkl5SURRQUVXRlVFbEppQUVCTUFDQWdVRElTVW1RQllWQVFLQS9jQUVCQ0VsSmtBV0ZRRkFBUllWUVNVbUlBUUVRRUJBZ0VCQUFyb2dIeDgvSUNBaUJRc0dkWkJDZzBJR0NnUWlJU0pBSGg4ZFJoRWpEQWNPQmlJaElrQWVIeDJHTUZZZ0h4OC9JQ0FpQmc0SEFBQUFBZ0QxQUtrREN3TFhBQWNBQ3dBQUFRY1hCd2tCSGdFbEVTTVJBd3ZwNlMzKzZRRVhDeGYrTlVBQ3FlbnBMZ0VYQVJjTUZnditBQUlBQUFBQURBREFBTUFEUUFMQUFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBbEl6VXpGeU0xTXhjak5UTVhJelV6SlNNMU14Y2pOVE1YSXpVekZ5TTFNeVVqTlRNWEl6VXpGeU0xTXhjak5UTUJBRUJBd0VCQXdFQkF3RUJBL2NCQVFNQkFRTUJBUU1CQVFQM0FRRURBUUVEQVFFREFRRURBZ0lDQWdJQ0FnRUNBZ0lDQWdJQ0FRSUNBZ0lDQWdJQUFBQWdBUC8vL0E4RURnUUFuQUZBQVZBQllBRndBWUFCa0FHZ0FBQUVlQVJjV0ZSWVVCeFFIRGdFSEJpTUdJaWNpSnk0Qkp5WTFKalEzTkRjK0FUYzJNell5RnpJRklnWUhCZ2NPQVJjVUZ4NEJGeFlYRmpJM05qYytBVGMyTnpZMEp5WW5MZ0VuSmlNaUJnY0dJeE1qTlRNRklUVWhKU00xTXdVaE5TRWxJelV6QlNFMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTZUNBZ0FHQS9zQUJRUDZBZ0lBQmdQN0FBVUQrQUlDQUFnRCtRQUhBQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUZCT0NaSVNVbVNTVWxKSkRVQ0F3RUJBUUVEQWpVa1NVbEtra3BKU1NRMUFnTUJBUUg5NEVCQVFFQkFRRUJBUUVCQUFBQUFBQVFBUXdESUE3MEN1QUFrQUUwQVlBQndBQUFCRmhjZUFSY1dGekFHQndZSERnRUhCaWNtSnk0Qkp5WW5NRFkzTmpjK0FUYzJNem9CQnlJR0J3WUhEZ0VIQmdjd0ZoY1dGeDRCTnpZM05qYytBVGMyTnpBbUp5WW5MZ0VuSmlNcUFTTVhIZ0VWRkFZSERnRW5MZ0VuTkRZM1BnRXpCdzRCQndZV0Z4WTJOelltSnk0Qkl3SUpRRUpCZFM4d0hVSTdLUzh2WXpJeU1EczVPbVlwS1JsRlB5RWxKVTRvS0NjSEJBb05HUXd1TUM5Vkl5TVZIeDhxTkRSdk9EZ3hLaWdvU0IwZEVoOGZIaVVrVHlvcEtBWUVCaEpHaXhnWk1IdzBQR2NDR1J3a1Vqb1RJMGdXR3hvdlBZd2VHeUF3RnlBb0FyZ0JEQXc1THk5SWZTa2RFaEVSQVFFREJCQVBPeTB0UG9FcUZ3NFBFUVFFUUFFQkF3c0xLeUVoTGo4Y0tCVVZFUUlDQndZTkRTd2VIaWMvSFJ3VEVoUUZCQjBDUlZRZ1BSUW1CZ1VGVFVFaVFoWWFERUFCQ1JrZ1hBMFJCeVVpWEFzR0FnQUNBUFVBcVFNTEF0Y0FEQUFRQUFBSkFTYzNKemNXRng0QkZ4WVhFeU1STXdJNS91a3Q2ZWt0SXlNaVJpTWpJOUpBUUFIQS91a3U2ZWt1SXlNalJpSWpJLzhBQWdBQUFBQUNBSGtBa3dPSEF1MEFDd0FXQUFBQkJ5RVZJUmNIQ1FFZUFSY0ZGemNuSVRVaE55Y09BUUkwUUFHVC9tMUFqZjdTQVM0alJ5UCtvTk15Z0FIdS9oS0FNalZwQW1CQXdFQ05BUzBCTFNOSEk2RFRNNEJBZ0RNMWFRQUFBQWdBWUFBZ0E2QURZQUFEQUFrQUR3QVRBQmNBSFFBakFDY0FBQ1VqRVRNbkJ5YzNIZ0VGQnljM0hnRTNJVFVoQlNFMUlUY0hKemNlQVNVSEp6Y2VBUVVqRVRNQ0lFQkFjODB0elFzWEFhc3R6UzB6WjRiL0FBRUEvY0QvQUFFQVRTM05MVE5uQWRQTkxjMExGLzdlUUVBZ0FRQWd6UzNOQ3hlckxjMHRNMmZOUUVCQVlDM05MVE5uYmMwdHpRc1hpd0VBQUFBQ0FQRUFzUU1QQXM4QUJ3QU9BQUFUSHdFbk55Y0hKeVV2QVJjSEZ6ZnhBOTlIZEZOMVJ3SWVBOTlIZEZOMUFaUGZBMGQxVTNSSFd0OERSM1ZUZEFBQUF3REFBT0FEUUFLZ0FBTUFCd0FMQUFBbElUVWhOU0UxSVRVaE5TRURRUDJBQW9EOWdBS0EvWUFDZ09CQWdFQ0FRQUFBQUFJQXl3Q0tBelVDOWdBSEFBOEFBQ1V2QVJjSEZ6Y1hFeDhCSnpjbkJ5Y0IyZ1RlUjNSVGRVZE1CTjVIZEZOMVI3amVCRWgxVTNWSEFoRGVCRWgxVTNWSEFBQUFBZ0NBQVdBRGdBSWdBQVVBRHdBQUFTRTFJUndCSlJVaE5TSWpLZ0VqSWdPQS9RQURBUDFBQW9CUVVGQ2dVRkFCWU1Bd1lGQkFRQUFCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUNBRUFBb0FQQUF1QUFDZ0FXQUFBQk54NEJGd2NuTnhjUk13RWpFUWNuTng0QkZ3Y25FUUZCa0F3WERPRGdMNUJDQWNCQ2tDL2dPSEE0TDVBQkdJWUxGZ3ZTMGl5R0Fjajl3QUhJaGl6U05HazFMSWIrT0FBQUJnQjJBRUFEaXdOTEFCd0FNZ0JCQUZNQVlnQnVBQUFCRmhjZUFSY1dCd1lIRGdFbkppY21KeTRCTnpZM05qYytBVGMyRndjR0J3NEJCd1lYRmhjZUFUYzJOelluTGdFbkpnY1hGZ2NPQVFjR0p5NEJMd0VCSGdFQkZqYytBVGMyTnpZbUp3WUhEZ0VIQmdjVE1oWWZBUUVtSnlZMk56WTNPZ0VIQmdjT0FRY0dGd0V1QVFjQ0JtSlZWV3NPRFMwblRrMjNYVjVITHg0ZUZ3Z0lIQmtuSmw4M056a0tVMGRJV2dvTEp5aFRVN2xWVlMwbENnbFlTVWxjOHlNSUNFMUFRVTRjTkJnb0FZTUdDLzdZS0NrcVNSd2JEQWdCQ1NFZ0lVRWhJQ0ZESVVBZEtmNTlKUVVHTWpnNFdBUUtCakFxS2pjS0NnNEJCaEVpRWdOTEFqVTFwR1ZrWUZRM055VVZGRU1yT1RwK1FFQTZNaW9wT2hBUUFVQUJMUzJNVlZSUlV5MHRCQ29yWEV4VlZZOHZMZ0hOUUVwSmV5VW1DQUlSRFJZQmd3b1UvcTBNQlFVbklCOHBIajBkSUNFaFFTRWdJUUhXRVJBVy9ueEJTMHlDTGkwR1FBSVpHVTB3THk0QkJRVUZBUUFBQUFBREFJQUFNQU9BQTFBQUdnQW1BRG9BQUFFMEppTWlCaFVxQVNNaUJoVVJGQll6SVRJMk5SRTBKaU1xQVFjeUZoVVVCaU1pSmpVME5nRWhJaVkxRVRRMk93RVZJVFV6TWhZVkVSUUdBb0E0U0VnNElFQWdOVXRMTlFJQU5VdExOU0JBb0JJWkdSSVNHUmtCRXY0QUdpWW1Ha0FCZ0VBYUppWUM4QmhJU0JoTE5mNUFOVXRMTlFIQU5Vc1JHQkVSR0JnUkVSajlrU1lhQWNBYUpvQ0FKaHIrUUJvbUFBSUFjQUF3QTVBRFVBQW9BRUFBQUFFbk1EWTNQZ0VYTnlZM1BnRTNOakVXRng0QkZ4WVhEZ0VIRGdFbkJ4NEJGeFlHRHdFbkJ5YzNBUTRCSHdFSEpnWUhBVDRCTnpZbUp6Y3dGamNuTUFZeEFWbVZCZzhoY1RCbENSQVFMQlFVSlNRbFNTVWxKQVVMQlJwRkttb0JBUUlES0M4WW11a3Q2UUVJRVJvS0VLQXdZaE1CSVFJRUFoNEhCNW82Sk5vQkFVZVZKeFV0RHdsakhCMGRMZzhQSlNVa1NpVWtKUWNPQnlNdkIyY0pBUnN6WUJnTW11b3U2UUcyRGlZUEY1OE1BaDcrM3dJREFocFdMSm9SS3RrQkFBQUtBRC8vL3dQQkE0RUFKd0E3QUVjQVlRQm5BRzRBZXdDR0FJd0FrZ0FBQVI0QkZ4WVZGaFFIRkFjT0FRY0dJd1lpSnlJbkxnRW5KalVtTkRjME56NEJOell6TmpJWE1oTWhFUll6RmpZM05qYytBVGMyTno0Qkp6UW5BUlFXRlI0QkZ6SVdNelVqQVFjbk54NEJGd2NuRlE0QkJ5TVhCeWMzSGdFWEJ4WTJOelVGRkJZVk16VW5CaFFITXpVak55b0JJeUlHQnhRR0ZUTTFNeVVWTXpRbU5TNEJKeUltSlFZaUJ4VXpOeVlpSXhVekF5UStYQUlCQVFFQkFsdytTVWxKa2tsSlNUMWRBZ0VCQVFFQ1hENUpTVW1TU1Vtby9ibzlQVDE2UFQwOUpEVUNBZ0lCQVFFQy9Qd0JBalVrQ0JBSWZBSkJDUzVYRmlzV0xna0JYRDkzQ2k1V1Znd1dEQXRSZ2dIOXZBRitmUUVCZjMyL0dDNFhKVG9CQVh4Q0FjZDlBUUkxSkFnUS92TWhRU0NDd3lCQklZSURnQUpjUGtsSlNaSkpTVWsrWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDVjQWdFQkFmOEEvYndDQVFFQkFnSUNOU1E5UFR4NlBUMDgvandKRVFna05RSUJmZ0VXQ2k1V0ZTd1ZMZ3B6UDE4Q0NTNVhWd3dXREFvQkhVVnpWQ0ZBSUlIQ0lVQWhndjg0Smhnd0dVRi9md2tSQ1NRMUFnRUNBUUYvZ0FHQkFBQUNBS0FBWUFOZ0F5QUFEUUFiQUFBQklSVWhFU01SSVRVaEVUTWNBU2NSSVJVaEVUTVJJVFVoRVNvQkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQkFnQWlEQS93QUJBTUFCQUVDQWdQOEFRUDhBQVFCQUFRQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBZ0FBLzhBRUFBUEFBQnNBTndBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWpBQU1BQVAvQUJBQUR3QUFiQURjQVV3QUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellCRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXQWdCcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BkVVZKNkl5TWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VRR2RHUmxYT2p0Q1FqczZWeGtaR1JsWE9qdENRanM2VnhrWkE4QW9LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1NoQUl5TjZVbEZkWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qL2tCQ096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPd0FBQUFBQ0FIa0Frd09IQXUwQURnQVpBQUFKQVNjM0lUVWhKemNXRng0QkZ4WWxGeUVWSVFjWE55Y09BUU9IL3RLTlFQNXRBWk5BalNZbUpVd2xKdjdHZ1A0U0FlNkFNdFBUREJvQndQN1RqVURBUUkwbEppWkxKaVY2Z0VDQU05UFREUmtBQUFBQUFnQ0FBRUFEZ0FOQUFBNEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRWpCVGNYQnljM0Z4RXpFUU1yL2FwVk1pTUNWaU15VmY4QWJqelYxVHh1VmdIQS90VUJLLzdWSXpJeUl3RXJIVzQ4MWRVOGJnR2QvbU1BQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFGZUFLa0NvZ0xYQUFjQUFBRUhGd2NKQVI0QkFxTHA2UzMrNlFFWEN4Y0NxZW5wTGdFWEFSY01GZ0FCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUJBT2tCSGdNWEFtSUFDd0FBQVFjbkJ5Y0JGaGNlQVJjV0F4Y3U2ZWt1QVJjakl5SkdJeU1CU3kzcDZTMEJGeU1qSTBVakl3QUFBQUVBNlFEdUF4Y0NrZ0FIQUFBSkFTYzNGd0VlQVFNWC9vbTNMb2tCU1F3V0FtWCtpYmN0aVFGSkN4Y0FBUUZlQUtrQ29nTFhBQXdBQUFrQkp6Y25OeFlYSGdFWEZoY0NvdjdwTGVucExTTWpJMFVqSXlNQndQN3BMdW5wTGlNakkwWWlJeU1BQUFBQUFRREFBYUFEUUFIZ0FBTUFBQk1oRlNIQUFvRDlnQUhnUUFBQUFBRUE2UUVlQXhjQ1lnQUhBQUFKQWpjWE54NEJBeGYrNmY3cEx1bnBEQllDTmY3cEFSY3Q2ZWtMRndBQUFRQUFBQUVBQU55WTk5TmZEenoxQUFzRUFBQUFBQURaQ2UvRkFBQUFBTmtKNzhVQUFQL0FCQUFEd0FBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBQUFBRUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU53UUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQS9CQUFBVXdRQUFTa0VBQUNBQkFBQTFRUUFBQUFFQUFBQUJBQUFBQVFBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1RQkNBRWdBWTRCcWdIdUFpb0NYZ0o4QXA0Q3RBTUFBeUFEbUFQMEJBd0VLZ1RxQlpRRjhBWU9CbGdHK2dla0I4Z0g5Z2hBQ0dBSWVnaWNDTGdJMWdrQ0Nib0tEQXAwQzB3TGVndVFDK1lNWmd5WURNUU0yZ3p3RFE0TktnMUFEVjROYkEyQ0FBRUFBQUEzQUpNQURBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQU1BQUFBQVFBQUFBQUFBZ0FIQUkwQUFRQUFBQUFBQXdBTUFFVUFBUUFBQUFBQUJBQU1BS0lBQVFBQUFBQUFCUUFMQUNRQUFRQUFBQUFBQmdBTUFHa0FBUUFBQUFBQUNnQWFBTVlBQXdBQkJBa0FBUUFZQUF3QUF3QUJCQWtBQWdBT0FKUUFBd0FCQkFrQUF3QVlBRkVBQXdBQkJBa0FCQUFZQUs0QUF3QUJCQWtBQlFBV0FDOEFBd0FCQkFrQUJnQVlBSFVBQXdBQkJBa0FDZ0EwQU9CaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxV1pYSnphVzl1SURFdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREJoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFTWldkMWJHRnlBRklBWlFCbkFIVUFiQUJoQUhKaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJhbGhhbS1kYXJrIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gIGNvbG9yOiAjRjVGNUY1O1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxMnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMEIwRkY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmQzNDM2O1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzYsIDI0MCwgMjQxLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlY2YwZjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM2LCAyNDAsIDI0MSwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MmMyZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNDI0MjQyO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBCMEZGO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzNDI0MjQyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzFjMWYyMDtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDE2cHg7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC4yKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCAxNjYsIDI1NSwgMC41KTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjYsIDE3NywgNzQsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMGYwZjBmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMTgycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0NzQ5OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzMyMzkzYztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC42NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICNGNUY1RjU7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoNjYsIDY2LCA2NiwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjY0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MDUwNTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgY29sb3I6ICNGNUY1RjU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMzQzOTNiO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTkxYTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMDBCMEZGOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgY29sb3I6ICNlY2YwZjE7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBsaW5lLWhlaWdodDogMTZweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjMycHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjk4cHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxNnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEIwRkYgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiA4MCU7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoNjYsIDY2LCA2NiwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIHJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItY29sb3I6ICM1YzVjNWM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtaW4taGVpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgICAgbWluLWhlaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWNvbnRyYWN0ZWQge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBjb2xvcjogI0Y1RjVGNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgY29sb3I6ICNGNUY1RjU7XFxuICAgIHBhZGRpbmc6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBpbnB1dCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYzJlO1xcbiAgICBjb2xvcjogI0Y1RjVGNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2OyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQmFsaGFtXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wmc3L0dKQUFBQUY0QUFBYkJHaGxZV1FWTXlRSEFBQWNmQUFBQURab2FHVmhCOElEK0FBQUhMUUFBQUFrYUcxMGVOSUFJZ01BQUJ6WUFBQUEzR3h2WTJHN3BNSWVBQUFkdEFBQUFIQnRZWGh3QUVRQWxRQUFIaVFBQUFBZ2JtRnRaZENGS0dJQUFCNUVBQUFCd25CdmMzUUFBd0FBQUFBZ0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQURBRC8vL3dQQkE0RUFKd0JRQUhBQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l3RWpOU0VjQVJVZUFSY1dCZ2NPQVJVaE5UTVZJVFEyTno0Qkp5NEJKelVoQXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW4rQlNVNkFRRUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCQVFNQ05TUkpTRW1SU1VoSkFlQkEvd0FCZFJrUUNoZ25WZ0VBUVA2QUJoc3RaQ0F1WWdJQmdBT0FBbHcrU1VsSmtrbEpTVDVjQWdFQkFRRUNYRDVKU1VtU1NVbEpQbHdDQVFFQlFUZ21TRWxKa2tsSlNTUTFBZ01CQVFFQkF3STFKRWxKU3BKS1NVa2tOUUlEQVFFQi93QkFBUUVCSUVJckhFUVhJajBhUUlBbVRCZ25SeDhwUnpSRkFBRUFVd0FUQTYwRGJRQW5BQUFURndjbk54NEJGd2NoRVFjbk54NEJGd2NuRVNFbk54NEJGd2NuTnlFUk54NEJGd2NuTnhjUnpVb3VscFlNRmd4S0FSTkpMcGNtU3lZdVNRRVRTaTRsVENXV0xrcis3VWtNRmd5WGx5NUpBYUJKTHBlWERCWU1TUUVUU2k2V0pVd2xMa3IrN1VrdUprc21seTVKL3UxS0RCWU1scFl1U2dFVEFBQUJBU2tBbVFMWEF1Y0FDZ0FBQVFjbk54NEJGd2NuRVNNQjRJa3UxelpyTmk2SlFBSnNpUzNYTm1zMkxZbitMUUFEQUlBQVFBT0FBMEFBR3dBM0FFWUFBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyRXpjZUFSY0hGd2NuQnljM0p6Y1hBZ0JQUmtacEhoNGVIbWxHUms5UFJrWnBIaDRlSG1sR1JrOUNPenBYR1JrWkdWYzZPMEpDT3pwWEdSa1pHVmM2TzBLcERCWU1xcW91cWFrdXFxb3VxUU5BSGg1cFJrWlBUMFpHYVI0ZUhoNXBSa1pQVDBaR2FSNGVRQmtaVnpvN1FrSTdPbGNaR1JrWlZ6bzdRa0k3T2xjWkdmN3RxZ3dXREttcExxcXFMcW1wTHFvQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQURBQUQvd0FRQUE4QUFFQUFoQUNrQUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZakV5RWlCaFVSRkJZeklUSTJOUkUwSmlNSEFTYzNGd0VlQVFOSS9YQk1iR3hNQXBCTWJHeE1BdjF0TFVGQkxRS1RMVUZBTGd6K1ZOQXpuUUY1RFJwQWJFd0NrRXhzYkV6OWNFeHNBN2xCTGYxdExrQkFMZ0tUTFVIMy9sUFJOSjBCZUEwYUFBQUFBd0FBLzhBRUFBUEFBQkFBSVFBbEFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZakF5RTFJUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMaVg5dGdKS1FHeE1BcEJNYkd4TS9YQk1iQU81UVMzOWJTNUFRQzRDa3kxQi9pSktBQUFBQWdBQS84QUVBQVBBQUJBQUlRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUl3TklUR3hzVFAxd1RHeHNUQUtRQXYxdExVRkJMUUtUTFVGQUxnUEFiRXo5Y0V4c2JFd0NrRXhzUjBFdC9XMHVRRUF1QXBNdFFRQUNBTUFBb0FIQUF1QUFDUUFQQUFBbElSRWhGQlVjQVJVVUF4RXpFU29CQWNEL0FBRUF3SUFnUUtBQ1FFaElTSkJJU0FHNC9rQUJ3QUFBQUFBRUFNQUFvQU5BQXVBQUF3QUhBQXNBRHdBQUpTTVJNeE1qRVRNVEl4RXpBU01STXdIQVFFREFRRURBUUVEOXdFQkFvQUpBL2NBQ1FQM0FBa0Q5d0FKQUFBQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBd0NnQUVBRFlBTkFBQkFBSUFBekFBQWxJeUltTlJFME5qc0JNaFlWRVJRR0l4TWhJZ1lWRVJRV015RXlOalVSTkNZQkl6d0JOUkUwTmpNaE9nRXpGU0VpQmhVUkFyNzdRMkJnUS90RFgxOURCZjc5SnpjM0p3RURKemMzL2ZkQlgwTUJtZ0VDQWY1ZEpqWkFYMFFCT2tOZ1lFUCt4a1JmQWtBNEp2NjdKemMzSndGRkpqaitBQUVFQWdJWFExOUFOaWI5M0FBQUFBQUJBU2tBNlFMWEFwY0FEZ0FBQVRjZUFSY0hGd2NuQnljM0p6Y1hBZ0NwREJZTXFxb3VxYWt1cXFvdXFRSHRxZ3dXREttcExxcXFMcW1wTHFvQUFBQUFCUUJBQUFBRHdBT0FBQ1VBTWdBL0FFc0FVUUFBQVQ0Qk5UUW1JeUlHRlJRV016STJOeGNITGdFaklnWVZGQll6TWpZMU5DWW5Od0V6TlFFSElpWTFORFl6TWhZVkZBWWpFU0ltTlRRMk16SVdGUlFHSXdFaUpqVTBOak15RmhVVUJna0JGd0UxSXdHV0NBaHBTa3BwYVVvVUpSRnBhUkVsRkVwcGFVcEthUWdJYWdFNmh2M1dveVUwTkNVbE5UVWxKVFEwSlNVMU5TVUJEUWtORFFrSkRRMEJNZjd6V1FFNmhnS0RFU1VVU21scFNrcHBDQWhxYWdnSWFVcEthV2xLRkNVUmFmN0hMUUlwRURVbEpUUTBKU1UxL2VjMEpTVTFOU1VsTkFGUURRa0pEUTBKQ1EwQnFmN3pXUUU1TFFBQUJ3Q0dBRllEZWdNcUFBc0FEd0FiQUNnQUxBQTRBRHdBQURjaUJoVVVGak15TmpVMEpnVTFJUlVESWdZVkZCWXpNalkxTkNZSE1oWVZGQVlqSWlZMU5EWXpCU0UxSVFFeUZoVVVCaU1pSmpVME5nVWhOU0hHR2lZbUdoc2xKUUtaL2VhYUdpWW1HaHNsSlJzU0dSa1NFUmtaRVFJSi9wRUJiLzMzR3lVbEd4b21KZ0xPL2VZQ0d0WW1HaHNsSlJzYUptdFZWUUdWSmhvYUppWWFHaVlWR1JJU0dSa1NFaGxXVmdFL0pSc2FKaVlhR3lWcVZRQUFBQUVCS1FDWkF0Y0M1d0FLQUFBQk54NEJGd2NuTnhjUk13SWdpUXdXRE5mWExvbEFBUlNKQ3hjTDE5Y3RpUUhUQUFFQlhnQ3BBcUlDMXdBTUFBQUpBU2MzSnpjV0Z4NEJGeFlYQXFMKzZTM3A2UzBqSXlORkl5TWpBY0QrNlM3cDZTNGpJeU5HSWlNakFBQUFBQVVBUXdCekE3MEREUUFzQUVvQWFBQnpBSDBBQUFFK0FUYzZBVE1XRng0QkZ4WVhNQVlIRGdFSEZ3Y25CZ2NHSmljbUp5NEJKeTRCSnpBMk56NEJOeWMzRndjT0FROEJGaGNlQVJjV056NEJOeWNPQVNNaUp5NEJKeVkxTkRZM0p3RStBVDhCSmljdUFTY21CdzRCQnhjK0FUTXlGeDRCRnhZVkZBWUhGd0VPQVJVVUZqTXlOamNuQlQ0Qk5UUW1JeUlHQndFcUwyZzJCd1FIU0VOQ2NpMHRHemt1RUNRVFBpMUxPVUJBZ0Q0OU5TbEVHUW9QQ2lVYkZ6Y2dQaTFLQ2pGT0dBRWROemVKVEV4SUN4WUtIUnhFSmk4b0tUMFNFUmNWTUFIQk1VMFlBUmduS0dVN096NHBVQ1VrSEVRbUxpa3BQUkVTR0JVcS9wME1EbDVDR0MwVDNnRUxEUTVlUWhrc0V3TEVGeHNDQWhnWFVqazRSSFl3RVI0TlBpMUxIQTBNQ0JVVkpoNUtMQkVpR0ZNa0h6WVdQaTFKVVNGWk53SkZOVFUvQndjWEJBZ0ZIUlVZRWhJOEtTa3VKa1FjTWY2WklWbzNBamd1TGtFU0VnRUJFeEVqRlJjUkVqMHBLQzhsUlJ3cUFRZ1RMQmxDWGc0TjNiQVRMUmhEWFE0TUFBUUFRd0NaQTcwQzlnQWtBRU1BWUFCekFBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFbkppY3VBU2N1QVNjd05qYzJOejRCTnpZM09nRXpCd1lIRGdFSEJnOEJGaGNlQVJjV056WTNQZ0UzTmo4QkppY3VBU2NtSXhjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZekZ6QTBNVFFtSXlJR0hRRVVGak15TmpVd05BSUpTRU5DY2kwdEd6a3VPazVPcUZOVVJTbEVHUW9QQ2lVYklDa3FZRFUxTndjRUJ4RTdPRGRnSnlZWUFSMDNONGxNVEVncUpTWkFHaG9TQVJnbktHVTdPejRJTFNnbk94RVNFaEU3SnlndExTZ25PeEVTRWhFN0p5Z3RvRjVDUWw1ZVFrSmVBdllDR0JkU09UaEVkakE5SXlRUUZSUXlIa29zRVNJWVV5UXJJeU15RGc0Q1FBSVNFMEF0TERZQ1JUVTFQd2NIRncwV0Zqc2pJeWdET0M0dFFoSVJIeEVST3ljb0xTMG9KenNTRVJFU095Y29MUzBvSnpzUkVkZ0JRbDVlUWdKQ1hsNUNBUUFBQUFBQ0FNQUFvQU5BQXdBQUhRQTdBQUFCQmdjT0FRY0dCdzRCSFFFSE5EWW5OQ1luSmljdUFTY21KelVoSEFFRkZCWVhGaGNlQVJjV0Z4VTNOVFkzUGdFM05qYytBVFVpSXlvQkl5SURRQUVXRlVFbEppQUVCTUFDQWdVRElTVW1RQllWQVFLQS9jQUVCQ0VsSmtBV0ZRRkFBUllWUVNVbUlBUUVRRUJBZ0VCQUFyb2dIeDgvSUNBaUJRc0dkWkJDZzBJR0NnUWlJU0pBSGg4ZFJoRWpEQWNPQmlJaElrQWVIeDJHTUZZZ0h4OC9JQ0FpQmc0SEFBQUFBZ0QxQUtrREN3TFhBQWNBQ3dBQUFRY1hCd2tCSGdFbEVTTVJBd3ZwNlMzKzZRRVhDeGYrTlVBQ3FlbnBMZ0VYQVJjTUZnditBQUlBQUFBQURBREFBTUFEUUFMQUFBTUFCd0FMQUE4QUV3QVhBQnNBSHdBakFDY0FLd0F2QUFBbEl6VXpGeU0xTXhjak5UTVhJelV6SlNNMU14Y2pOVE1YSXpVekZ5TTFNeVVqTlRNWEl6VXpGeU0xTXhjak5UTUJBRUJBd0VCQXdFQkF3RUJBL2NCQVFNQkFRTUJBUU1CQVFQM0FRRURBUUVEQVFFREFRRURBZ0lDQWdJQ0FnRUNBZ0lDQWdJQ0FRSUNBZ0lDQWdJQUFBQWdBUC8vL0E4RURnUUFuQUZBQVZBQllBRndBWUFCa0FHZ0FBQUVlQVJjV0ZSWVVCeFFIRGdFSEJpTUdJaWNpSnk0Qkp5WTFKalEzTkRjK0FUYzJNell5RnpJRklnWUhCZ2NPQVJjVUZ4NEJGeFlYRmpJM05qYytBVGMyTnpZMEp5WW5MZ0VuSmlNaUJnY0dJeE1qTlRNRklUVWhKU00xTXdVaE5TRWxJelV6QlNFMUlRTWtQbHdDQVFFQkFRSmNQa2xKU1pKSlNVazlYUUlCQVFFQkFsdytTVWxKa2tsSi9nVWxPZ0VCQVFFQkFRTUNOU1JKU1VxU1NrbEpKRFVDQXdFQkFRRURBalVrU1VoSmtVbElTZUNBZ0FHQS9zQUJRUDZBZ0lBQmdQN0FBVUQrQUlDQUFnRCtRQUhBQTRBQ1hENUpTVW1TU1VsSlBsd0NBUUVCQVFKY1BrbEpTWkpKU1VrK1hBSUJBUUZCT0NaSVNVbVNTVWxKSkRVQ0F3RUJBUUVEQWpVa1NVbEtra3BKU1NRMUFnTUJBUUg5NEVCQVFFQkFRRUJBUUVCQUFBQUFBQVFBUXdESUE3MEN1QUFrQUUwQVlBQndBQUFCRmhjZUFSY1dGekFHQndZSERnRUhCaWNtSnk0Qkp5WW5NRFkzTmpjK0FUYzJNem9CQnlJR0J3WUhEZ0VIQmdjd0ZoY1dGeDRCTnpZM05qYytBVGMyTnpBbUp5WW5MZ0VuSmlNcUFTTVhIZ0VWRkFZSERnRW5MZ0VuTkRZM1BnRXpCdzRCQndZV0Z4WTJOelltSnk0Qkl3SUpRRUpCZFM4d0hVSTdLUzh2WXpJeU1EczVPbVlwS1JsRlB5RWxKVTRvS0NjSEJBb05HUXd1TUM5Vkl5TVZIeDhxTkRSdk9EZ3hLaWdvU0IwZEVoOGZIaVVrVHlvcEtBWUVCaEpHaXhnWk1IdzBQR2NDR1J3a1Vqb1RJMGdXR3hvdlBZd2VHeUF3RnlBb0FyZ0JEQXc1THk5SWZTa2RFaEVSQVFFREJCQVBPeTB0UG9FcUZ3NFBFUVFFUUFFQkF3c0xLeUVoTGo4Y0tCVVZFUUlDQndZTkRTd2VIaWMvSFJ3VEVoUUZCQjBDUlZRZ1BSUW1CZ1VGVFVFaVFoWWFERUFCQ1JrZ1hBMFJCeVVpWEFzR0FnQUNBUFVBcVFNTEF0Y0FEQUFRQUFBSkFTYzNKemNXRng0QkZ4WVhFeU1STXdJNS91a3Q2ZWt0SXlNaVJpTWpJOUpBUUFIQS91a3U2ZWt1SXlNalJpSWpJLzhBQWdBQUFBQUNBSGtBa3dPSEF1MEFDd0FXQUFBQkJ5RVZJUmNIQ1FFZUFSY0ZGemNuSVRVaE55Y09BUUkwUUFHVC9tMUFqZjdTQVM0alJ5UCtvTk15Z0FIdS9oS0FNalZwQW1CQXdFQ05BUzBCTFNOSEk2RFRNNEJBZ0RNMWFRQUFBQWdBWUFBZ0E2QURZQUFEQUFrQUR3QVRBQmNBSFFBakFDY0FBQ1VqRVRNbkJ5YzNIZ0VGQnljM0hnRTNJVFVoQlNFMUlUY0hKemNlQVNVSEp6Y2VBUVVqRVRNQ0lFQkFjODB0elFzWEFhc3R6UzB6WjRiL0FBRUEvY0QvQUFFQVRTM05MVE5uQWRQTkxjMExGLzdlUUVBZ0FRQWd6UzNOQ3hlckxjMHRNMmZOUUVCQVlDM05MVE5uYmMwdHpRc1hpd0VBQUFBQ0FQRUFzUU1QQXM4QUJ3QU9BQUFUSHdFbk55Y0hKeVV2QVJjSEZ6ZnhBOTlIZEZOMVJ3SWVBOTlIZEZOMUFaUGZBMGQxVTNSSFd0OERSM1ZUZEFBQUF3REFBT0FEUUFLZ0FBTUFCd0FMQUFBbElUVWhOU0UxSVRVaE5TRURRUDJBQW9EOWdBS0EvWUFDZ09CQWdFQ0FRQUFBQUFJQXl3Q0tBelVDOWdBSEFBOEFBQ1V2QVJjSEZ6Y1hFeDhCSnpjbkJ5Y0IyZ1RlUjNSVGRVZE1CTjVIZEZOMVI3amVCRWgxVTNWSEFoRGVCRWgxVTNWSEFBQUFBZ0NBQVdBRGdBSWdBQVVBRHdBQUFTRTFJUndCSlJVaE5TSWpLZ0VqSWdPQS9RQURBUDFBQW9CUVVGQ2dVRkFCWU1Bd1lGQkFRQUFCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUNBRUFBb0FQQUF1QUFDZ0FXQUFBQk54NEJGd2NuTnhjUk13RWpFUWNuTng0QkZ3Y25FUUZCa0F3WERPRGdMNUJDQWNCQ2tDL2dPSEE0TDVBQkdJWUxGZ3ZTMGl5R0Fjajl3QUhJaGl6U05HazFMSWIrT0FBQUJnQjJBRUFEaXdOTEFCd0FNZ0JCQUZNQVlnQnVBQUFCRmhjZUFSY1dCd1lIRGdFbkppY21KeTRCTnpZM05qYytBVGMyRndjR0J3NEJCd1lYRmhjZUFUYzJOelluTGdFbkpnY1hGZ2NPQVFjR0p5NEJMd0VCSGdFQkZqYytBVGMyTnpZbUp3WUhEZ0VIQmdjVE1oWWZBUUVtSnlZMk56WTNPZ0VIQmdjT0FRY0dGd0V1QVFjQ0JtSlZWV3NPRFMwblRrMjNYVjVITHg0ZUZ3Z0lIQmtuSmw4M056a0tVMGRJV2dvTEp5aFRVN2xWVlMwbENnbFlTVWxjOHlNSUNFMUFRVTRjTkJnb0FZTUdDLzdZS0NrcVNSd2JEQWdCQ1NFZ0lVRWhJQ0ZESVVBZEtmNTlKUVVHTWpnNFdBUUtCakFxS2pjS0NnNEJCaEVpRWdOTEFqVTFwR1ZrWUZRM055VVZGRU1yT1RwK1FFQTZNaW9wT2hBUUFVQUJMUzJNVlZSUlV5MHRCQ29yWEV4VlZZOHZMZ0hOUUVwSmV5VW1DQUlSRFJZQmd3b1UvcTBNQlFVbklCOHBIajBkSUNFaFFTRWdJUUhXRVJBVy9ueEJTMHlDTGkwR1FBSVpHVTB3THk0QkJRVUZBUUFBQUFBREFJQUFNQU9BQTFBQUdnQW1BRG9BQUFFMEppTWlCaFVxQVNNaUJoVVJGQll6SVRJMk5SRTBKaU1xQVFjeUZoVVVCaU1pSmpVME5nRWhJaVkxRVRRMk93RVZJVFV6TWhZVkVSUUdBb0E0U0VnNElFQWdOVXRMTlFJQU5VdExOU0JBb0JJWkdSSVNHUmtCRXY0QUdpWW1Ha0FCZ0VBYUppWUM4QmhJU0JoTE5mNUFOVXRMTlFIQU5Vc1JHQkVSR0JnUkVSajlrU1lhQWNBYUpvQ0FKaHIrUUJvbUFBSUFjQUF3QTVBRFVBQW9BRUFBQUFFbk1EWTNQZ0VYTnlZM1BnRTNOakVXRng0QkZ4WVhEZ0VIRGdFbkJ4NEJGeFlHRHdFbkJ5YzNBUTRCSHdFSEpnWUhBVDRCTnpZbUp6Y3dGamNuTUFZeEFWbVZCZzhoY1RCbENSQVFMQlFVSlNRbFNTVWxKQVVMQlJwRkttb0JBUUlES0M4WW11a3Q2UUVJRVJvS0VLQXdZaE1CSVFJRUFoNEhCNW82Sk5vQkFVZVZKeFV0RHdsakhCMGRMZzhQSlNVa1NpVWtKUWNPQnlNdkIyY0pBUnN6WUJnTW11b3U2UUcyRGlZUEY1OE1BaDcrM3dJREFocFdMSm9SS3RrQkFBQUtBRC8vL3dQQkE0RUFKd0E3QUVjQVlRQm5BRzRBZXdDR0FJd0FrZ0FBQVI0QkZ4WVZGaFFIRkFjT0FRY0dJd1lpSnlJbkxnRW5KalVtTkRjME56NEJOell6TmpJWE1oTWhFUll6RmpZM05qYytBVGMyTno0Qkp6UW5BUlFXRlI0QkZ6SVdNelVqQVFjbk54NEJGd2NuRlE0QkJ5TVhCeWMzSGdFWEJ4WTJOelVGRkJZVk16VW5CaFFITXpVak55b0JJeUlHQnhRR0ZUTTFNeVVWTXpRbU5TNEJKeUltSlFZaUJ4VXpOeVlpSXhVekF5UStYQUlCQVFFQkFsdytTVWxKa2tsSlNUMWRBZ0VCQVFFQ1hENUpTVW1TU1Vtby9ibzlQVDE2UFQwOUpEVUNBZ0lCQVFFQy9Qd0JBalVrQ0JBSWZBSkJDUzVYRmlzV0xna0JYRDkzQ2k1V1Znd1dEQXRSZ2dIOXZBRitmUUVCZjMyL0dDNFhKVG9CQVh4Q0FjZDlBUUkxSkFnUS92TWhRU0NDd3lCQklZSURnQUpjUGtsSlNaSkpTVWsrWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDVjQWdFQkFmOEEvYndDQVFFQkFnSUNOU1E5UFR4NlBUMDgvandKRVFna05RSUJmZ0VXQ2k1V0ZTd1ZMZ3B6UDE4Q0NTNVhWd3dXREFvQkhVVnpWQ0ZBSUlIQ0lVQWhndjg0Smhnd0dVRi9md2tSQ1NRMUFnRUNBUUYvZ0FHQkFBQUNBS0FBWUFOZ0F5QUFEUUFiQUFBQklSVWhFU01SSVRVaEVUTWNBU2NSSVJVaEVUTVJJVFVoRVNvQkFtQUJBUDhBd1A4QUFRREFnUDhBQVFCQUFRRC9BQkFnQWlEQS93QUJBTUFCQUVDQWdQOEFRUDhBQVFCQUFRQUFBQUVCWGdDcEFxSUMxd0FIQUFBQkJ4Y0hDUUVlQVFLaTZla3QvdWtCRndzWEFxbnA2UzRCRndFWERCWUFBZ0FBLzhBRUFBUEFBQnNBTndBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUNBR3BkWFlzcEtDZ3BpMTFkYW1wZFhZc3BLQ2dwaTExZGFsMVJVbm9qSXlNamVsSlJYVjFSVW5vakl5TWplbEpSQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWpBQU1BQVAvQUJBQUR3QUFiQURjQVV3QUFBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellCRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXQWdCcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BkVVZKNkl5TWpJM3BTVVYxZFVWSjZJeU1qSTNwU1VRR2RHUmxYT2p0Q1FqczZWeGtaR1JsWE9qdENRanM2VnhrWkE4QW9LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcHFYVjJMS1NoQUl5TjZVbEZkWFZGU2VpTWpJeU42VWxGZFhWRlNlaU1qL2tCQ096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPd0FBQUFBQ0FIa0Frd09IQXUwQURnQVpBQUFKQVNjM0lUVWhKemNXRng0QkZ4WWxGeUVWSVFjWE55Y09BUU9IL3RLTlFQNXRBWk5BalNZbUpVd2xKdjdHZ1A0U0FlNkFNdFBUREJvQndQN1RqVURBUUkwbEppWkxKaVY2Z0VDQU05UFREUmtBQUFBQUFnQ0FBRUFEZ0FOQUFBNEFHQUFBQVJFaEVTTVJGQll6SVRJMk5SRWpCVGNYQnljM0Z4RXpFUU1yL2FwVk1pTUNWaU15VmY4QWJqelYxVHh1VmdIQS90VUJLLzdWSXpJeUl3RXJIVzQ4MWRVOGJnR2QvbU1BQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFGZUFLa0NvZ0xYQUFjQUFBRUhGd2NKQVI0QkFxTHA2UzMrNlFFWEN4Y0NxZW5wTGdFWEFSY01GZ0FCQVY0QXFRS2lBdGNBREFBQUNRRW5OeWMzRmhjZUFSY1dGd0tpL3VrdDZla3RJeU1qUlNNakl3SEEvdWt1NmVrdUl5TWpSaUlqSXdBQUFBQUJBT2tCSGdNWEFtSUFDd0FBQVFjbkJ5Y0JGaGNlQVJjV0F4Y3U2ZWt1QVJjakl5SkdJeU1CU3kzcDZTMEJGeU1qSTBVakl3QUFBQUVBNlFEdUF4Y0NrZ0FIQUFBSkFTYzNGd0VlQVFNWC9vbTNMb2tCU1F3V0FtWCtpYmN0aVFGSkN4Y0FBUUZlQUtrQ29nTFhBQXdBQUFrQkp6Y25OeFlYSGdFWEZoY0NvdjdwTGVucExTTWpJMFVqSXlNQndQN3BMdW5wTGlNakkwWWlJeU1BQUFBQUFRREFBYUFEUUFIZ0FBTUFBQk1oRlNIQUFvRDlnQUhnUUFBQUFBRUE2UUVlQXhjQ1lnQUhBQUFKQWpjWE54NEJBeGYrNmY3cEx1bnBEQllDTmY3cEFSY3Q2ZWtMRndBQUFRQUFBQUVBQU55WTk5TmZEenoxQUFzRUFBQUFBQURaQ2UvRkFBQUFBTmtKNzhVQUFQL0FCQUFEd0FBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFEd1AvQUFBQUVBQUFBQUFBRUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQU53UUFBQUFBQUFBQUFBQUFBQUlBQUFBRUFBQS9CQUFBVXdRQUFTa0VBQUNBQkFBQTFRUUFBQUFFQUFBQUJBQUFBQVFBQU1BRUFBREFCQUFCWGdRQUFLQUVBQUVwQkFBQVFBUUFBSVlFQUFFcEJBQUJYZ1FBQUVNRUFBQkRCQUFBd0FRQUFQVUVBQURBQkFBQVB3UUFBRU1FQUFEMUJBQUFlUVFBQUdBRUFBRHhCQUFBd0FRQUFNc0VBQUNBQkFBQlhnUUFBRUFFQUFCMkJBQUFnQVFBQUhBRUFBQS9CQUFBb0FRQUFWNEVBQUFBQkFBQUFBUUFBSGtFQUFDQUJBQUE2UVFBQVY0RUFBRmVCQUFBNlFRQUFPa0VBQUZlQkFBQXdBUUFBT2tBQUFBQUFBb0FGQUFlQU1RQkNBRWdBWTRCcWdIdUFpb0NYZ0o4QXA0Q3RBTUFBeUFEbUFQMEJBd0VLZ1RxQlpRRjhBWU9CbGdHK2dla0I4Z0g5Z2hBQ0dBSWVnaWNDTGdJMWdrQ0Nib0tEQXAwQzB3TGVndVFDK1lNWmd5WURNUU0yZ3p3RFE0TktnMUFEVjROYkEyQ0FBRUFBQUEzQUpNQURBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQU1BQUFBQVFBQUFBQUFBZ0FIQUkwQUFRQUFBQUFBQXdBTUFFVUFBUUFBQUFBQUJBQU1BS0lBQVFBQUFBQUFCUUFMQUNRQUFRQUFBQUFBQmdBTUFHa0FBUUFBQUFBQUNnQWFBTVlBQXdBQkJBa0FBUUFZQUF3QUF3QUJCQWtBQWdBT0FKUUFBd0FCQkFrQUF3QVlBRkVBQXdBQkJBa0FCQUFZQUs0QUF3QUJCQWtBQlFBV0FDOEFBd0FCQkFrQUJnQVlBSFVBQXdBQkJBa0FDZ0EwQU9CaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxV1pYSnphVzl1SURFdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREJoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFTWldkMWJHRnlBRklBWlFCbkFIVUFiQUJoQUhKaFowZHlhV1JDWVd4b1lXMEFZUUJuQUVjQWNnQnBBR1FBUWdCaEFHd0FhQUJoQUcxR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFcXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJhbGhhbSB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6ICMwMDA7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGhlbWUtYmFsaGFtLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDkxRUE7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB3aGl0ZTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAqOmZvY3VzLCAuYWctdGhlbWUtYmFsaGFtICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzk1QTVBNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0OSwgMTY1LCAxNjYsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOTVBNUE2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZGZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTFFQTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQkRDM0M3JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNWY3Zjc7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2U0ZmY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjYpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDE4MnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBoZWlnaHQ6IDI4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlNGU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDE2MCwgMTMzLCAwLjUpICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICMwMDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICMwMDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2UwZTI7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JkMGQzO1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNjYmQwZDM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzAwMDtcXG4gICAgZm9udC1zaXplOiAxMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBjb2xvcjogIzdGOEM4RDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjMycHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjk4cHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyOHB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxNnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MUVBICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE4OSwgMTk1LCAxOTksIDAuNSk7XFxuICAgIGNvbnRlbnQ6IFxcXCIgXFxcIjtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdGV4dC1pbmRlbnQ6IC0yMDAwcHg7XFxuICAgIHRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIHJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cge1xcbiAgICBib3JkZXItY29sb3I6ICNkOWRjZGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJvcmRlci1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgICAgbWluLWhlaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWljb24tZXhwYW5kZWQsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAtMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgY29sb3I6ICMwMDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRldGFpbHMtcm93IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBwYWRkaW5nOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXItdG9vbHBhbmVsLWJvZHkge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ibHVlIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzIyMjIyMjtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LCAuYWctdGhlbWUtYmx1ZSAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjYgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAqOmZvY3VzLCAuYWctdGhlbWUtYmx1ZSAqICo6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ibHVlIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogZGFya3JlZDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgY29sb3I6IHdoaXRlO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZWJmNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzlCQzJFNiclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICMyMjIyMjI7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogI2RkZWJmNztcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWMgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogIzIyMjIyMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE1NSwgMTk0LCAyMzAsIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICAgIGNvbG9yOiB3aGl0ZTtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc4M2M3OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMztcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlYmY3O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGxpZ2h0Z3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLW5hbWUtZmlsdGVyIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSBpbnB1dCxcXG4gIC5hZy10aGVtZS1ibHVlIHNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGNvbG9yOiAjMjIyMjIyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm5iOTB1NEFBQUY0QUFBVXFHaGxZV1FWTXlQZEFBQVdJQUFBQURab2FHVmhCOElEK0FBQUZsZ0FBQUFrYUcxMGVOSUFGK1lBQUJaOEFBQUEzR3h2WTJHU0lwY2tBQUFYV0FBQUFIQnRZWGh3QUVRQVd3QUFGOGdBQUFBZ2JtRnRaU2pHOVVzQUFCZm9BQUFCem5CdmMzUUFBd0FBQUFBWnVBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFEQUFBQVNFWEJ5RVZJUk1ESVJ3QkZRTksvcE41ZVFGdC9XemMzQUtVQXBYVjFhc0JnQUdBSzFVckFBQUFBQUVBQVAvQUJBQUR3QUFnQUFBQk5RY25OeGNISnhFaEp6Y1hCeWMzSVJFM0Z3Y25OeGNSSVJjSEp6Y1hCeUVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FBQUFBUUNXQUI0RGFnTmlBQThBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEVCcnJGbkFXb3RMaTFhTGkwdFo3Q2xBa0t4WndGcUxpMHRXeTB0TFdldy9kMENKQUFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWtBQ2dBTFFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakVRVXpGU01ETXhFakVRTi8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOW1sVlZBVlZWVmF0V1ZrSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQNnIvdFlCS29DcUFhcitWZ0dxQUFBQUFBTUFBZisrQS84RHdRQUlBQmtBS1FBQUNRRW5OeGNUSGdFWEV6SVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXlYKzZQMDFydWdTSmhKYU5VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZQXF6OS9zcERpd0dvQ2hRS0FSVkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBQURBQUgvdmdQL0E4RUFBd0FVQUNRQUFBRWhGU0VCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWUJWUUZXL3FvQ0tqVkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FJVnFnSldTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUFDQUFIL3ZnUC9BOEVBRUFBZ0FBQUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBSUFWUUFWQWFzRGF3QUVBQWdBQUFFUklSRWhFUlVoTlFHci9xb0JWdjZxQW12OXFnSldBUUNycXdBQUJnQlZBQlVEcXdOckFBTUFDQUFNQUJFQUZRQWFBQUFsRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCcS82cUExYitxZ0ZXL2dEK3FnTlcvcW9CVnY0QS9xb0RWdjZxQVZiQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUFBTUFBZisrQS84RHdRQVFBQ0FBSkFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXhVaE5RTi9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUF3Q3JBR3NEVlFNVkFBY0FDd0FSQUFBQk14RWhOU01SSVJNaEVTRUROU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFhdFYvcXNCQUFBQUFRQnVBQzREa2dOU0FBNEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FRSUFBUmtlUFI3KzV3RVplZjduL3VkNUFSbis1M2tCR1FJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYbis1d0FBQUFBREFIZ0ExUU9mQXVFQU9BQkdBRmdBQUFFMk56NEJOellYSGdFZkFRWUhEZ0VIQmdjV0Z4NEJGeFlYRGdFbkxnRW5EZ0VIQmljdUFTY21OejRCTnk0Qk56NEJGeDRCRng0QkZ3Y0dCdzRCQndZM1BnRTNNRFlISnlJR0J3NEJCd1lYSGdFWEZoYzNMZ0VqQWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQWNBTWdBbkE4NERXUUFMQUE4QUhBQWdBQzBBTVFBK0FBQTNJZ1lWRkJZek1qWTFOQ1lwQVJVaEFTSUdGUlFXTXpJMk5UUW1JeUVWSVRVSE1oWVZGQVlqSWlZMU5EWXpBUlVoTlNNeUZoVVVCaU1pSmpVME5qT2RMVDQrTFN3K1BnTUYvVlVDcS96UExUNCtMU3crUGl3RE1mMVZoaDRzTEI0ZkxDd2ZBekg5VllZc1BqNHNMVDQrTGZ3K0xDMCtQaTBzUHRVQ0JEOHNMRDgvTEN3LzF0WWdMQjhmTEN3Zkh5d0JUdFhWUGkwc1BqNHNMVDRBQUFBQkFKWUFJd05xQTEwQUN3QUFBUkU2QVRNUk54Y0pBVGNYQWE4cFVpbXdaLzZXL3BabnNnRkRBaHI5NTdCbi9wWUJhbWV4QUFBQUFBTUFBZisrQS84RHdRQVFBQ0FBTFFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQVRVekZUTVZJeFVqTlNNMU13Ti9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWS9ocXFxNnVxcTZzRHdVczEvUDAxUzBzMUF3TTFTMWNZRWZ6L0VSa1pFUU1CRVJqK3E2dXJxcXVycWdBQUFBQURBQ0lBZGdQZUF3b0FJZ0JIQUZFQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk53RStBVGN3SmljT0FRY0JLRFVuSUVJalNFSkNkelF6S3lwdlFEZERJUTcrekI0L0hnb1VDd0VMTldzeVVETHJLaVVsT2hRVUJ5TStHaVl4TW5NL1B6ODBMaTh2WHk4dkxpSWVIellaR0JjcmFqOEI0eTVNSUQ4NUN6NHNBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZoc0FBQUFEQUNJQW1RUGVBdWdBSEFBN0FFa0FBQUVXRng0QkZ4WVhCZ2NPQVNjbUp5WW5MZ0VuSmljMk56NEJOellYQlE0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp5VW1ORFVqRGdFSEZ6NEJOem9CQWdsSVFrSjNORE1yTzFWVnhXbHBZeUllSHpZWkdCY3FOVFI3UmtWTy92c2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRQzZBSVhGMDgyTmtCWFJVVklCUVE4RkJvYU9pRWdJVDgzTjFFWEZ3R3VHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFJQVZRQkFBNnNEUUFBR0FBc0FBQk1oQVJFbkVRRUJGVE0xSTFVRFZ2NnFxdjZxQVZhcXFnTkEvcXYrVmFzQkFBRlYvcXRXVmdBQUFnRHlBTUFERGdMQUFBTUFDUUFBQVJFakVRRW5OeWNKQVFGSFZRSWN4OGM1L3dBQkFBTEEvZ0FDQVA0NXg4YzUvd0QvQUFBQUFBQU1BS3YvNndOVkE1VUFBd0FJQUF3QUVBQVZBQmtBSFFBaUFDWUFLZ0F2QURNQUFEY3pGU01sTXhVak5TRXpGU01CTXhVakpUTVZJelVoTXhVakFUTVZJeVV6RlNNMUlUTVZJd0V6RlNNbE14VWpOUVVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcXFxb0FBQVVBVmYvckE2c0RsUUFlQUNJQUp3QXJBQzhBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVUJJeFV6RVNNVk16VVJJeFV6SlNNVk13R3JxZ0ZXL3FxcXF3RlZBVmIrcXY2ckFWVUJWdjZxL2xaV0FWWUJxcXFxcXFxcXF2NEFxcW9EUUZYL0FGWldxbFgvQUZYL0FGYi9BRlVDVlFFQVZmMVZWUUdyVmxZQlZWVlZWUUFBQUFBREFCa0JFUVBuQXBNQUZnQXNBRHNBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSndjbU5EVWpEZ0VIRno0Qk56WXlNd0lJUGp3OGNqTTBMQ1JlZW5uL2ZIdGpKREU2T1g1RVF3RXRISUZTVW9FY0lUMGNBMHBlWHNWZlgwd0RIRDhpbVFFTFJJYzhKUzVtTVFvVUN3S1RBUXdNTFNFZ0t5UmROVFVQS2lsZkpESW5LRGNQRDRoSFhGeEhEaVlYQXo4Z0lRRWdIMEFDR0NnT0l4VXJGUUVRSGt3V0RRSUJBQUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWJBQ1VBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNRE16YzFKeU1IRlI0QkFsV2NlWnpkM1NkT0ozbWNxcHg1bk4zZG5Ia25UaWVxbkk1a1pJNWtHVElDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNmMnFaSTVrWkk0Wk1nQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXVBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRUhOeGMzRndjWEFUY0hGd2NYTndOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5NE9OSU1wODVuekFCdDBybE1hQTVvRUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdBQUFBQUFNQVZRQVZBNnNEYXdBREFBY0FDd0FBSlJVaE5RRVZJVFVCRlNFMUE2djhxZ05XL0tvRFZ2eXF3S3VyQVZXcXFnRldxNnNBQUFBQUJBQUIvNzREL3dQQkFBOEFId0FuQUM0QUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZRElTSUdGUkVVRmpNaE1qWTFFVFFtQVRjSEp3Y25OeWNCQnpjbk55Y0hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMXM1RWt5bnptZk1BRnNTZVF4bnptZlFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBQUFBQUFBUUNyQVdzRFZRSVZBQVFBQUJNaEZTRTFxd0txL1ZZQ0ZhcXFBQUVCWkFEQUFwd0N3QUFHQUFBbE55YzNDUUVuQVdUSHh6Z0JBUDhBT1BuSHh6bi9BUDhBT1FBQkFOTC8xZ011QTZvQUZBQUFBUWNuQVJZWEhnRVhGaGNISnhFM0Z3a0JOeGNSQWFWc1p3RXVKaVVtVENVbUptZHNiR2YrMHY3U1oyd0NnV3huQVM0bUpTWk1KU1ltWjJ6K2ZteG4vdElCTG1kc0FZSUFBQUFBQXdBQi83OEVBQVBDQUJzQUtnQTVBQUFCTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQlFFZUFUTXlOejRCTnpZMU5DWW5KeTRCSXlJSERnRUhCaFVVRmhjQkFnQnFYVjJMS0NrcEtJdGRYV3BxWFYyTEtDZ29LSXRkWFFHNy9hazJoa3BZVGs1MElTSXdLa28zaGtwWVRrNXpJaUV2S3dKWEE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NqNy9ha3FNQ0loZEU1TldVcUZOMG9xTUNFaWRFMU9XRXVHTmdKWEFBSUFxd0JBQTFVRFFBQU5BQ0FBQUFFaEZCVWNBUlVVRlNFUklUVXpGeU13TWpFVklUVXpNQ01xQVNNaU1SRWhFUUpWQVFEOVZnRUFxcXVyVnY2cVZoc2JRQm9iQWdBQzYxWlZWYXRWVmxVQ3ExV3JxcXIrQUFJQUFBQUFBUUNyQUJVRFZRTVZBQThBQUFFakVSY2hDd0VoTnpVekVTTTFJUlVEQUZXcS93QlZWZjhBcWxhckFnQUN3UDZyVnY4QUFRQldWUUVBVlZVQUJRQUIvNzREL3dQQkFBOEFIZ0FsQURvQVFRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRTFJeUlHRlJFVUZqc0JFU00xTXdVaEVTRXlOalVEQnljM0hnRVhCeWNWSXhjSEp6Y2VBUmNITXpVVElSVWhOVFFtQTMvOUFqVkxTelVDL2pWTFMvMU1naEVZR0JHQ3E2c0NxZjJzQWlzUkdQNE5QSE1kT2gwOURNUU5QWE56RUI0UERXL1YvZFVDVkJoQ1N6VURBelZMU3pYOC9UVkxBd0txR0JIOC94RVpBbFZWVmYyckdSRUJSQTA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUJBS3NBYXdOVkF4VUFEQUFBRXlFUk14RWhGU0VSSXhFaE5hc0JBS29CQVA4QXF2OEFBaFVCQVA4QXF2OEFBUUNxQUFBQUFRRmtBTUFDbkFMQUFBVUFBQ1VuTnljSkFRS2N4OGM0L3dBQkFQbkh4em4vQVA4QUFBQUFBQUlBQWYrL0JBQUR3Z0FiQURjQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJBZ0JxWFYyTEtDZ29LSXRkWFdwcVhWMkxLQ2twS0l0ZFhXcFlUazUwSVNJaUlYUk9UbGhZVGs1eklpRWhJbk5PVGdQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFEQUFIL3Z3UUFBOElBSEFBNEFGUUFBQUVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNeUZ4NEJGeFlWQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZREFCUVVSUzh2TlRVdkxrWVVGQlFVUmk0dk5UVXZMMFVVRlA4QWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNEJ3VFV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RSUJLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBQUFRQkxBRllEdFFNcUFBOEFBQUVuTnhZWEhnRVhGaGNCSnpjaE5TRUNrcTVuTFMwdFd5MHRMdjZXWjYzOXVnSkhBaFd1WnkwdExsb3RMaTMrbG1ldHF3QUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUNyQVJVRFZRSnJBQU1BQUJNaENRR3JBcXIrcS82ckFtditxZ0ZXQUFBQkFWVUFhd0tyQXhVQUF3QUFDUUVSQVFGVkFWYitxZ0hBQVZYOVZnRlZBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBUlVEVlFKckFBTUFBQk1KQVNHckFWVUJWZjFXQVJVQlZ2NnFBQUFCQUVRQVpnTzhBeHNBQ0FBQUNRSTNGd0VlQVJjRHZQM0Uvc1I0eEFIRUhqd2VBcUw5eEFFOGVNTUJ3eDQ4SGdBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdGckExVUNGUUFFQUFBVElSVWhOYXNDcXYxV0FoV3FxZ0FCQUtzQkZRTlZBbXNBQXdBQUV5RUpBYXNDcXY2ci9xc0NhLzZxQVZZQUFBRUFBQUFCQUFDdkhJY0RYdzg4OVFBTEJBQUFBQUFBMlFudnNBQUFBQURaQ2Urd0FBRC92Z1FBQThJQUFBQUlBQUlBQUFBQUFBQUFBUUFBQThEL3dBQUFCQUFBQUFBQUJBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFEY0VBQUFBQUFBQUFBQUFBQUFDQUFBQUJBQUF0Z1FBQUFBRUFBQ1dCQUFCQUFRQUFBRUVBQUFCQkFBQUFRUUFBQUVFQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNkFIUUFsZ0N3QVBvQlBnRjZBYTRCeEFIMkFqQUNWQUo4QXdvRFpnT0NBOFlFU2dUQUJOd0UrQVZLQlpRRjlnWVNCaTRHYWdhNEJ0UUhJZ2N3QjBRSGNBZk1CL29JR0FoOENKWUlxZ2tBQ1lBSm9nbk9DZDRKN2duK0NnNEtKZ28yQ2tRS1ZBQUJBQUFBTndCWkFBd0FBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEUUFBQUFFQUFBQUFBQUlBQndDV0FBRUFBQUFBQUFNQURRQklBQUVBQUFBQUFBUUFEUUNyQUFFQUFBQUFBQVVBQ3dBbkFBRUFBQUFBQUFZQURRQnZBQUVBQUFBQUFBb0FHZ0RTQUFNQUFRUUpBQUVBR2dBTkFBTUFBUVFKQUFJQURnQ2RBQU1BQVFRSkFBTUFHZ0JWQUFNQUFRUUpBQVFBR2dDNEFBTUFBUVFKQUFVQUZnQXlBQU1BQVFRSkFBWUFHZ0I4QUFNQUFRUUpBQW9BTkFEc1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpWbVZ5YzJsdmJpQXhMakFBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVW1WbmRXeGhjZ0JTQUdVQVp3QjFBR3dBWVFCeVlXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpSbTl1ZENCblpXNWxjbUYwWldRZ1lua2dTV052VFc5dmJpNEFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYm9vdHN0cmFwIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogYmxhY2s7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwICo6Zm9jdXMsIC5hZy10aGVtZS1ib290c3RyYXAgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAwKTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1kYXJrIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gIGNvbG9yOiAjY2NjO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUsIC5hZy10aGVtZS1kYXJrIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMDJlMmUgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWRhcmsgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCBncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBncmVlbnllbGxvdzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IHJlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjaG9jb2xhdGU7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgY29sb3I6ICNjY2NjY2M7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQwM2UzZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNWQ1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzQTlBOUE5JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTM1LCAxNjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxNjAsIDEwMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC43KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjgpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgd2lkdGg6IDIwMHB4O1xcbiAgICBoZWlnaHQ6IDE2Mi41cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICM0MDNlM2U7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjMzAyZTJlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI2NjYztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDJlMmU7XFxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE2OSwgMTY5LCAxNjksIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyay5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgY29sb3I6ICNjY2NjY2M7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NDk0OTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTUxNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICNkNmQ1ZDU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICNkNmQ1ZDU7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzQwM2UzZTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGxpZ2h0Z3JlZW47IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWRhcmsgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgY29sb3I6ICNjY2M7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSBpbnB1dFtyZWFkb25seV0ge1xcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm5iOTB1NEFBQUY0QUFBVXFHaGxZV1FWTXlQZEFBQVdJQUFBQURab2FHVmhCOElEK0FBQUZsZ0FBQUFrYUcxMGVOSUFGK1lBQUJaOEFBQUEzR3h2WTJHU0lwY2tBQUFYV0FBQUFIQnRZWGh3QUVRQVd3QUFGOGdBQUFBZ2JtRnRaU2pHOVVzQUFCZm9BQUFCem5CdmMzUUFBd0FBQUFBWnVBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBTFlBUUFOS0EwQUFEQUFBQVNFWEJ5RVZJUk1ESVJ3QkZRTksvcE41ZVFGdC9XemMzQUtVQXBYVjFhc0JnQUdBSzFVckFBQUFBQUVBQVAvQUJBQUR3QUFnQUFBQk5RY25OeGNISnhFaEp6Y1hCeWMzSVJFM0Z3Y25OeGNSSVJjSEp6Y1hCeUVCelZKSXpjMUlVZ0VKVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpBdk1KVVVqTnpVaFIvdmRTU00zTlNGTCs5MUZJemMxSVVRRUpVa2pOelVoU0FBQUFBUUNXQUI0RGFnTmlBQThBQUFFSEp3RVdGeDRCRnhZWEJ5Y1JJeEVCcnJGbkFXb3RMaTFhTGkwdFo3Q2xBa0t4WndGcUxpMHRXeTB0TFdldy9kMENKQUFBQUFBQkFRQUF3QU1BQXNBQUN3QUFBUWNuQnljM0p6Y1hOeGNIQXdCSXVMaEl1TGhJdUxoSXVBRUlTTGk0U0xpNFNMaTRTTGdBQlFBQi83NEQvd1BCQUE4QUh3QWtBQ2dBTFFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdNaElnWVZFUlFXTXlFeU5qVVJOQ1lCTXhFakVRVXpGU01ETXhFakVRTi8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOW1sVlZBVlZWVmF0V1ZrSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQNnIvdFlCS29DcUFhcitWZ0dxQUFBQUFBTUFBZisrQS84RHdRQUlBQmtBS1FBQUNRRW5OeGNUSGdFWEV6SVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXlYKzZQMDFydWdTSmhKYU5VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZQXF6OS9zcERpd0dvQ2hRS0FSVkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWUFBQURBQUgvdmdQL0E4RUFBd0FVQUNRQUFBRWhGU0VCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWUJWUUZXL3FvQ0tqVkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FJVnFnSldTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUFDQUFIL3ZnUC9BOEVBRUFBZ0FBQUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZRGZ6VkxTelg5QWpWTFN6VUMvZ0g4L2hFWUdCRURBaEVZR0FQQlN6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBSUFWUUFWQWFzRGF3QUVBQWdBQUFFUklSRWhFUlVoTlFHci9xb0JWdjZxQW12OXFnSldBUUNycXdBQUJnQlZBQlVEcXdOckFBTUFDQUFNQUJFQUZRQWFBQUFsRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCRlNFMUlSVWhOU0VCcS82cUExYitxZ0ZXL2dEK3FnTlcvcW9CVnY0QS9xb0RWdjZxQVZiQXE2dXJxd0ZWcXFxcXFnRldxNnVycXdBQUFBTUFBZisrQS84RHdRQVFBQ0FBSkFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQXhVaE5RTi9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWWtmNEFBOEZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVkvcXVxcWdBQUF3Q3JBR3NEVlFNVkFBY0FDd0FSQUFBQk14RWhOU01SSVJNaEVTRUROU0VSTXhFQ3E2citBS29DQUZYK3F3RlZxLzZyVlFKci9nQ3FBZ0QvQVA2ckFhdFYvcXNCQUFBQUFRQnVBQzREa2dOU0FBNEFBQWtCSGdFWENRRUhDUUVuQ1FFM0FRSUFBUmtlUFI3KzV3RVplZjduL3VkNUFSbis1M2tCR1FJNUFSa2VQUjcrNS83bmVRRVovdWQ1QVJrQkdYbis1d0FBQUFBREFIZ0ExUU9mQXVFQU9BQkdBRmdBQUFFMk56NEJOellYSGdFZkFRWUhEZ0VIQmdjV0Z4NEJGeFlYRGdFbkxnRW5EZ0VIQmljdUFTY21OejRCTnk0Qk56NEJGeDRCRng0QkZ3Y0dCdzRCQndZM1BnRTNNRFlISnlJR0J3NEJCd1lYSGdFWEZoYzNMZ0VqQWhvbUpTWkdJQ0VkRUJ3Tk55QWdJRUFoSUNBZ0lTQkFJQ0FnTm0xSklrb2hPM3hDSHlVbU93OFBEZzFES0VCTUdCQTlNVDFzTmhBaEVKc25LeXMyQVFJdEkwUWtBd1dPQkFrRkF3VURGdzBNUGljbkhnRWxUaDBDT1NFZUh5OE9EZ0VCQ1FjaEd4c2JOeHdiR3hvWkdqUWFHaG9oRGpZWk54a3NUQjBPQWdJaUhoNHFLemtUSW5BMEl5TUJCRTRtREJnTWtBRVZGVEVURXdJQk5CZzBBZU1DQVFFREFROFVGU1VPRFFFekdqUUFBQWNBTWdBbkE4NERXUUFMQUE4QUhBQWdBQzBBTVFBK0FBQTNJZ1lWRkJZek1qWTFOQ1lwQVJVaEFTSUdGUlFXTXpJMk5UUW1JeUVWSVRVSE1oWVZGQVlqSWlZMU5EWXpBUlVoTlNNeUZoVVVCaU1pSmpVME5qT2RMVDQrTFN3K1BnTUYvVlVDcS96UExUNCtMU3crUGl3RE1mMVZoaDRzTEI0ZkxDd2ZBekg5VllZc1BqNHNMVDQrTGZ3K0xDMCtQaTBzUHRVQ0JEOHNMRDgvTEN3LzF0WWdMQjhmTEN3Zkh5d0JUdFhWUGkwc1BqNHNMVDRBQUFBQkFKWUFJd05xQTEwQUN3QUFBUkU2QVRNUk54Y0pBVGNYQWE4cFVpbXdaLzZXL3BabnNnRkRBaHI5NTdCbi9wWUJhbWV4QUFBQUFBTUFBZisrQS84RHdRQVFBQ0FBTFFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtQVRVekZUTVZJeFVqTlNNMU13Ti9OVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWS9ocXFxNnVxcTZzRHdVczEvUDAxUzBzMUF3TTFTMWNZRWZ6L0VSa1pFUU1CRVJqK3E2dXJxcXVycWdBQUFBQURBQ0lBZGdQZUF3b0FJZ0JIQUZFQUFBRTNGejRCTXhZWEhnRVhGaGNPQVFjWEJ5YzNBVDRCTnpZeU15WTBOU01pQmdjbkJ4TW1KeTRCSnlZbkRnRUhGaGNlQVJjV054Y0dCd1ltSnlZbkppY3VBU2NtSno0Qk53RStBVGN3SmljT0FRY0JLRFVuSUVJalNFSkNkelF6S3lwdlFEZERJUTcrekI0L0hnb1VDd0VMTldzeVVETHJLaVVsT2hRVUJ5TStHaVl4TW5NL1B6ODBMaTh2WHk4dkxpSWVIellaR0JjcmFqOEI0eTVNSUQ4NUN6NHNBdUVwTWdrS0FoY1hVRFkyUHo1ckowVTFLUXdCaHdjRkFRRVZLeFVLRUdaSy90WUZFUkkzSkNRcEdqOGtOQ2txT0F3TUNFRU9CUVVKRUE4YkZSb1pPeUFnSWo5dktmNlFIVXNyVUMwMVZoc0FBQUFEQUNJQW1RUGVBdWdBSEFBN0FFa0FBQUVXRng0QkZ4WVhCZ2NPQVNjbUp5WW5MZ0VuSmljMk56NEJOellYQlE0QkJ4WVhIZ0UzTmpjK0FUY3dKaWNHQnc0QkJ3WWpJaWN1QVNjbUp5VW1ORFVqRGdFSEZ6NEJOem9CQWdsSVFrSjNORE1yTzFWVnhXbHBZeUllSHpZWkdCY3FOVFI3UmtWTy92c2pQaG93UkVTY1VsTk5NVkVpUHprSkZ4ZERLU291THlvclFoY1hDQUZTQVF0RWh6d2xMbVl4Q2hRQzZBSVhGMDgyTmtCWFJVVklCUVE4RkJvYU9pRWdJVDgzTjFFWEZ3R3VHVUFrUWpFeU1RWUZMUnhQTGxBc0xDVWxOdzhRRUJBNUppY3NBeFlyRlFFUkhVMFdEZ0lBQUFJQVZRQkFBNnNEUUFBR0FBc0FBQk1oQVJFbkVRRUJGVE0xSTFVRFZ2NnFxdjZxQVZhcXFnTkEvcXYrVmFzQkFBRlYvcXRXVmdBQUFnRHlBTUFERGdMQUFBTUFDUUFBQVJFakVRRW5OeWNKQVFGSFZRSWN4OGM1L3dBQkFBTEEvZ0FDQVA0NXg4YzUvd0QvQUFBQUFBQU1BS3YvNndOVkE1VUFBd0FJQUF3QUVBQVZBQmtBSFFBaUFDWUFLZ0F2QURNQUFEY3pGU01sTXhVak5TRXpGU01CTXhVakpUTVZJelVoTXhVakFUTVZJeVV6RlNNMUlUTVZJd0V6RlNNbE14VWpOUVVqTlRPcnFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQWFxcXFwV3FxcXFxcWdHcXFxcXFxcW9CcXFxcXFxcXFBYXFxcXFxcXFxb0FBQVVBVmYvckE2c0RsUUFlQUNJQUp3QXJBQzhBQUFFek5TRVJJVFVqRlNNVklUVWhFU0UxSVJFaE5TRVJJVFVoRVNNUklSVUJJeFV6RVNNVk16VVJJeFV6SlNNVk13R3JxZ0ZXL3FxcXF3RlZBVmIrcXY2ckFWVUJWdjZxL2xaV0FWWUJxcXFxcXFxcXF2NEFxcW9EUUZYL0FGWldxbFgvQUZYL0FGYi9BRlVDVlFFQVZmMVZWUUdyVmxZQlZWVlZWUUFBQUFBREFCa0JFUVBuQXBNQUZnQXNBRHNBQUFFV0Z4NEJGeFlmQVFZSERnRW5KaThCTmpjK0FUYzJCUTRCSXlJbUp3NEJEd0VXRng0Qk56WS9BUzRCSndjbU5EVWpEZ0VIRno0Qk56WXlNd0lJUGp3OGNqTTBMQ1JlZW5uL2ZIdGpKREU2T1g1RVF3RXRISUZTVW9FY0lUMGNBMHBlWHNWZlgwd0RIRDhpbVFFTFJJYzhKUzVtTVFvVUN3S1RBUXdNTFNFZ0t5UmROVFVQS2lsZkpESW5LRGNQRDRoSFhGeEhEaVlYQXo4Z0lRRWdIMEFDR0NnT0l4VXJGUUVRSGt3V0RRSUJBQUFBQWdEeUFNQUREZ0xBQUFNQUNnQUFKU01STXdFM0p6Y0pBU2NERGxWVi9lVEh4emtCQVA4QU9jQUNBUDQ1eDhjNS93RC9BRGtBQUFBQkFFc0FWZ08xQXlvQUN3QUFBUmNIQ1FFZUFSY0hJUlVoQVcrdFovNldBV29aTkJxdkFrajl1Z0ZxcldjQmFnRnFHak1hcnFzQUFBSUFWUUFWQTZzRGF3QWJBQ1VBQUFFM0Z3Y3pGU01lQVJjSEp4VWpOUWNuTnlNMU15YzNIZ0VYTlRNRE16YzFKeU1IRlI0QkFsV2NlWnpkM1NkT0ozbWNxcHg1bk4zZG5Ia25UaWVxbkk1a1pJNWtHVElDanB4NW5Lb25UaWQ1bk4zZG5IbWNxcHg1SjA0bjNmMnFaSTVrWkk0Wk1nQUFBQVFBQWYrK0EvOER3UUFQQUI4QUp3QXVBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBeUVpQmhVUkZCWXpJVEkyTlJFMEpnRUhOeGMzRndjWEFUY0hGd2NYTndOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5NE9OSU1wODVuekFCdDBybE1hQTVvRUpMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDB0U2VReG56bWZNUUczNVVreW9EbWdBQUFBQUFNQVZRQVZBNnNEYXdBREFBY0FDd0FBSlJVaE5RRVZJVFVCRlNFMUE2djhxZ05XL0tvRFZ2eXF3S3VyQVZXcXFnRldxNnNBQUFBQUJBQUIvNzREL3dQQkFBOEFId0FuQUM0QUFBVWhJaVkxRVRRMk15RXlGaFVSRkFZRElTSUdGUkVVRmpNaE1qWTFFVFFtQVRjSEp3Y25OeWNCQnpjbk55Y0hBMy85QWpWTFN6VUMvalZMU3pUOC9oRVlHQkVEQWhFWUdQMXM1RWt5bnptZk1BRnNTZVF4bnptZlFrczFBd00xUzBzMS9QMDFTd09zR0JIOC94RVpHUkVEQVJFWS9lNUo1REdnT2FBeEFXemtTVEdnT2FBQUFBQUFBUUNyQVdzRFZRSVZBQVFBQUJNaEZTRTFxd0txL1ZZQ0ZhcXFBQUVCWkFEQUFwd0N3QUFHQUFBbE55YzNDUUVuQVdUSHh6Z0JBUDhBT1BuSHh6bi9BUDhBT1FBQkFOTC8xZ011QTZvQUZBQUFBUWNuQVJZWEhnRVhGaGNISnhFM0Z3a0JOeGNSQWFWc1p3RXVKaVVtVENVbUptZHNiR2YrMHY3U1oyd0NnV3huQVM0bUpTWk1KU1ltWjJ6K2ZteG4vdElCTG1kc0FZSUFBQUFBQXdBQi83OEVBQVBDQUJzQUtnQTVBQUFCTWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQlFFZUFUTXlOejRCTnpZMU5DWW5KeTRCSXlJSERnRUhCaFVVRmhjQkFnQnFYVjJMS0NrcEtJdGRYV3BxWFYyTEtDZ29LSXRkWFFHNy9hazJoa3BZVGs1MElTSXdLa28zaGtwWVRrNXpJaUV2S3dKWEE4SW9LWXRlWFdwclhWMk1LQ2twS0l4ZFhXdHFYVjZMS1NqNy9ha3FNQ0loZEU1TldVcUZOMG9xTUNFaWRFMU9XRXVHTmdKWEFBSUFxd0JBQTFVRFFBQU5BQ0FBQUFFaEZCVWNBUlVVRlNFUklUVXpGeU13TWpFVklUVXpNQ01xQVNNaU1SRWhFUUpWQVFEOVZnRUFxcXVyVnY2cVZoc2JRQm9iQWdBQzYxWlZWYXRWVmxVQ3ExV3JxcXIrQUFJQUFBQUFBUUNyQUJVRFZRTVZBQThBQUFFakVSY2hDd0VoTnpVekVTTTFJUlVEQUZXcS93QlZWZjhBcWxhckFnQUN3UDZyVnY4QUFRQldWUUVBVlZVQUJRQUIvNzREL3dQQkFBOEFIZ0FsQURvQVFRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnRTFJeUlHRlJFVUZqc0JFU00xTXdVaEVTRXlOalVEQnljM0hnRVhCeWNWSXhjSEp6Y2VBUmNITXpVVElSVWhOVFFtQTMvOUFqVkxTelVDL2pWTFMvMU1naEVZR0JHQ3E2c0NxZjJzQWlzUkdQNE5QSE1kT2gwOURNUU5QWE56RUI0UERXL1YvZFVDVkJoQ1N6VURBelZMU3pYOC9UVkxBd0txR0JIOC94RVpBbFZWVmYyckdSRUJSQTA5Y3gwNkhEME54QXc5ZEhNUEhnOE5id0htcW9FUkdBQUJBS3NBYXdOVkF4VUFEQUFBRXlFUk14RWhGU0VSSXhFaE5hc0JBS29CQVA4QXF2OEFBaFVCQVA4QXF2OEFBUUNxQUFBQUFRRmtBTUFDbkFMQUFBVUFBQ1VuTnljSkFRS2N4OGM0L3dBQkFQbkh4em4vQVA4QUFBQUFBQUlBQWYrL0JBQUR3Z0FiQURjQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJBZ0JxWFYyTEtDZ29LSXRkWFdwcVhWMkxLQ2twS0l0ZFhXcFlUazUwSVNJaUlYUk9UbGhZVGs1eklpRWhJbk5PVGdQQ0tDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFEQUFIL3Z3UUFBOElBSEFBNEFGUUFBQUVVQnc0QkJ3WWpJaWN1QVNjbU5UUTNQZ0UzTmpNeUZ4NEJGeFlWQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZREFCUVVSUzh2TlRVdkxrWVVGQlFVUmk0dk5UVXZMMFVVRlA4QWFsMWRpeWdvS0NpTFhWMXFhbDFkaXlncEtTaUxYVjFxV0U1T2RDRWlJaUYwVGs1WVdFNU9jeUloSVNKelRrNEJ3VFV2TDBVVUZCUVVSUzh2TlRVdUwwWVVGQlFVUmk4dU5RSUJLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBQUFRQkxBRllEdFFNcUFBOEFBQUVuTnhZWEhnRVhGaGNCSnpjaE5TRUNrcTVuTFMwdFd5MHRMdjZXWjYzOXVnSkhBaFd1WnkwdExsb3RMaTMrbG1ldHF3QUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUNyQVJVRFZRSnJBQU1BQUJNaENRR3JBcXIrcS82ckFtditxZ0ZXQUFBQkFWVUFhd0tyQXhVQUF3QUFDUUVSQVFGVkFWYitxZ0hBQVZYOVZnRlZBQUVCVlFCckFxc0RGUUFEQUFBSkFoRUJWUUZXL3FvREZmNnIvcXNDcWdBQUFRQ3JBUlVEVlFKckFBTUFBQk1KQVNHckFWVUJWZjFXQVJVQlZ2NnFBQUFCQUVRQVpnTzhBeHNBQ0FBQUNRSTNGd0VlQVJjRHZQM0Uvc1I0eEFIRUhqd2VBcUw5eEFFOGVNTUJ3eDQ4SGdBQkFWVUFhd0tyQXhVQUF3QUFDUUlSQVZVQlZ2NnFBeFgrcS82ckFxb0FBQUVBcXdGckExVUNGUUFFQUFBVElSVWhOYXNDcXYxV0FoV3FxZ0FCQUtzQkZRTlZBbXNBQXdBQUV5RUpBYXNDcXY2ci9xc0NhLzZxQVZZQUFBRUFBQUFCQUFDdkhJY0RYdzg4OVFBTEJBQUFBQUFBMlFudnNBQUFBQURaQ2Urd0FBRC92Z1FBQThJQUFBQUlBQUlBQUFBQUFBQUFBUUFBQThEL3dBQUFCQUFBQUFBQUJBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFEY0VBQUFBQUFBQUFBQUFBQUFDQUFBQUJBQUF0Z1FBQUFBRUFBQ1dCQUFCQUFRQUFBRUVBQUFCQkFBQUFRUUFBQUVFQUFCVkJBQUFWUVFBQUFFRUFBQ3JCQUFBYmdRQUFIZ0VBQUF5QkFBQWxnUUFBQUVFQUFBaUJBQUFJZ1FBQUZVRUFBRHlCQUFBcXdRQUFGVUVBQUFaQkFBQThnUUFBRXNFQUFCVkJBQUFBUVFBQUZVRUFBQUJCQUFBcXdRQUFXUUVBQURTQkFBQUFRUUFBS3NFQUFDckJBQUFBUVFBQUtzRUFBRmtCQUFBQVFRQUFBRUVBQUJMQkFBQWdBUUFBS3NFQUFGVkJBQUJWUVFBQUtzRUFBQkVCQUFCVlFRQUFLc0VBQUNyQUFBQUFBQUtBQlFBSGdBNkFIUUFsZ0N3QVBvQlBnRjZBYTRCeEFIMkFqQUNWQUo4QXdvRFpnT0NBOFlFU2dUQUJOd0UrQVZLQlpRRjlnWVNCaTRHYWdhNEJ0UUhJZ2N3QjBRSGNBZk1CL29JR0FoOENKWUlxZ2tBQ1lBSm9nbk9DZDRKN2duK0NnNEtKZ28yQ2tRS1ZBQUJBQUFBTndCWkFBd0FBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEUUFBQUFFQUFBQUFBQUlBQndDV0FBRUFBQUFBQUFNQURRQklBQUVBQUFBQUFBUUFEUUNyQUFFQUFBQUFBQVVBQ3dBbkFBRUFBQUFBQUFZQURRQnZBQUVBQUFBQUFBb0FHZ0RTQUFNQUFRUUpBQUVBR2dBTkFBTUFBUVFKQUFJQURnQ2RBQU1BQVFRSkFBTUFHZ0JWQUFNQUFRUUpBQVFBR2dDNEFBTUFBUVFKQUFVQUZnQXlBQU1BQVFRSkFBWUFHZ0I4QUFNQUFRUUpBQW9BTkFEc1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpWbVZ5YzJsdmJpQXhMakFBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd1lXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVW1WbmRXeGhjZ0JTQUdVQVp3QjFBR3dBWVFCeVlXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpSbTl1ZENCblpXNWxjbUYwWldRZ1lua2dTV052VFc5dmJpNEFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtZnJlc2gge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUsIC5hZy10aGVtZS1mcmVzaCAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAqOmZvY3VzLCAuYWctdGhlbWUtZnJlc2ggKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCBzaWx2ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCBzaWx2ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20od2hpdGUpLCB0byhsaWdodGdyZXkpKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlLCBsaWdodGdyZXkpO1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcm93Om5vdCguYWctcm93LWZpcnN0KSB7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZXZlbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNBOUE5QTknJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xcbiAgICBsaW5lLWhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwIDhweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCAuYWctZG5kLWdob3N0LWljb24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSB7XFxuICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCB7XFxuICAgIG1hcmdpbjogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwge1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyID4gZGl2IHtcXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nOiA0cHggMDtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wID4gZGl2ID4gOmZpcnN0LWNoaWxkIHtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgY29sb3I6ICMzMzMzMzM7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0LmFnLWNlbGwtcmFuZ2UtY2hhcnQtY2F0ZWdvcnkge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDgwLCA4MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDQwLCA0MCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogXFxcIlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3RhdHVzLWJhciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyB7XFxuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogYmxhY2s7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgxNjksIDE2OSwgMTY5LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRDbGFzc2ljXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mYWRlZCB7XFxuICAgIG9wYWNpdHk6IDAuMzsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHdoaXRlKSwgdG8obGlnaHRncmV5KSk7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgbGlnaHRncmV5KTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLWhpZ2hsaWdodC1hbmltYXRpb24ge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcztcXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRNYXRlcmlhbFxcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVptSUpIdXdBQUFGNEFBQVE3R2hsWVdRVStpT2pBQUFTWkFBQUFEWm9hR1ZoQjRrRCtBQUFFcHdBQUFBa2FHMTBlTklBSml3QUFCTEFBQUFBM0d4dlkyRjBKSGhDQUFBVG5BQUFBSEJ0WVhod0FFRUFXQUFBRkF3QUFBQWdibUZ0WldoMFBPVUFBQlFzQUFBQjJuQnZjM1FBQXdBQUFBQVdDQUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQVFBQWF3TUFBeFVBQ3dBQUFTRVZDUUVWSVRVaE55Y2hBd0QrQUFFVi91c0NBUDdWMXRZQkt3TVZWZjhBL3dCVmdOWFZBQUFBQUFRQU9mLzVBOGNEaHdBSEFBOEFGd0FmQUFBQk16VXpKd2N6RlFjak5RY1hOVE0xQlNjVkl4VXpGVGNGSXhVakZ6Y2pOUUdycW5MSHgzSTVjc2ZIY2dKVngzSnl4LzZPcW5MSHgzSUNUbkxIeDNJNWNzZkhjcXBWeDNLcWNzZU9jc2ZIY2dBQkFLc0Fhd05WQXhVQUNRQUFFeGMzRVRNUkZ6Y0pBYXM4N2xidVBQNnIvcXNCd0R6dS9ma0NCKzg5QVZYK3F3QUNBRlVBRlFPckEyc0FIQUFvQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUl4TUhKd2NuTnljM0Z6Y1hCd0lBV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVkxVHlabVR5Wm1UeVptVHlaQTJzaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5dkR5Wm1UeVptVHlabVR5WkFBQUFBd0RWQUpVREt3THJBQVFBQ1FBTkFBQVRNeEVqRVRjekVTTVJFek1SSTlXQWdPOTRlTzk0ZUFJMy9sNEJvclQ5cWdKVy9xci9BQUFDQUlBQVFBT0FBMEFBRHdBV0FBQUJJU0lHRlJFVUZqTWhNalkxRVRRbUFTYzNGd0VYQVFNci9hb2pNaklqQWxZak1qTCtYZFk4bWdGRVBQNkFBMEF5SS8ycUl6SXlJd0pXSXpMOXE5VThtUUZFUFA2QUFBQUFBZ0NBQUVBRGdBTkFBQThBRXdBQUFTRWlCaFVSRkJZeklUSTJOUkUwSmdNaE5TRURLLzJxSXpJeUl3SldJekl5ZWY1V0Fhb0RRRElqL2Fvak1qSWpBbFlqTXY1VlZnQUFBZ0NBQUVBRGdBTkFBQU1BRXdBQUFSRWhFU1VoSWdZVkVSUVdNeUV5TmpVUk5DWURLLzJxQWxiOXFpTXlNaU1DVmlNeU1nTHIvYW9DVmxVeUkvMnFJekl5SXdKV0l6SUFBZ0NyQUdzQlZRTVZBQU1BQndBQUpTTVJNelVWSXpVQlZhcXFxbXNCLzZ0WFZ3QUFDUUNyQUdzRFZRTVZBQU1BQ0FBTUFCQUFGUUFaQUI0QUlnQW1BQUFUTXpVakFUTTFJeFVoTXpVak5UTTFJd1V6TlNNVkFSVXpOUVV6TlNNVkFUTTFJeEV6TlNPcnFxb0JBS3FxL3dDcXFxcXFBUUNxcWdFQXF2NVdxcW9CQUtxcXFxb0NhNnI5VnFxcXFsYXFxcXFxQWFxcXFxcXFxdjhBcXY1V3FnQUFBQUFCQVdJQXdBS2VBc0FBQmdBQUFTY0pBVGNuTndLZVBQOEFBUUE4dzhNQ2hEei9BUDhBUE1URUFBQUFBQU1BYS8vckE1VURsUUFJQUJrQUhRQUFBU0VpQmhVUk14RWhGeUVpQmhVUkZCWXpJVEkyTlJFMEppTVJJUkVoQXNEK0FDTXlWUUlBZ1A0ckpESXlKQUhWSXpJeUkvNHJBZFVEbFRJai9hc0NWVlV5SlAyckl6SXlJd0pWSkRMOVZRSlZBQUFCQU5VQWxRTXJBdXNBREFBQUFTY0hKd2NYQnhjM0Z6Y25Od01yUE8vdlBPL3ZQTy92UE8vdkFxODg3Kzg4Nys4ODcrODg3KzhBQUFVQVZRQVZBNnNEYXdBbEFESUFQd0JMQUZFQUFBRStBVFUwSmlNaUJoVVVGak15TmpjWEJ5NEJJeUlHRlJRV016STJOVFFtSnpjQk16VUJCeUltTlRRMk16SVdGUlFHSXhFaUpqVTBOak15RmhVVUJpTUJJaVkxTkRZek1oWVZGQVlKQVJjQk5TTUJtd2dJWkVkSFpHUkhFeU1RWldVUUl4TkhaR1JIUjJRSUNHVUJLNEQ5OEpzak1qSWpJekl5SXlNeU1pTWpNaklqQVFBSkRBd0pDUXdNQVNML0FGVUJLNEFDZWhBakUwZGtaRWRIWkFnSVpXVUlDR1JIUjJSa1J4TWpFR1grMVNzQ0R3OHhKQ1F4TVNRa01mNEFNU1FrTVRFa0pERUJRQXdKQ1F3TUNRa01BWlgvQUZVQktpc0FBQWNBbHdDL0Eya0N3UUFNQUJBQUhRQWhBQzBBT2dBK0FBQVRJZ1lWRkJZek1qWTFOQ1lqQlRVaEZRTWlCaFVVRmpNeU5qVTBKaU1GSVRVaEJUSVdGUlFHSXlJbU5UUTJOeklXRlJRR0l5SW1OVFEyTXdVaE5TSENFaGtaRWhJWkdSSUNwLzNYZmhJWkdSSVNHUmtTQWRMK3JBRlUvaTRORXhNTkRSTVREUklaR1JJU0dSa1NBcWY5MXdJcEFSVVpFaEVhR2hFU0dWVldWZ0VyR1JJU0dSa1NFaGxWVlFzVERRMFRFdzBORStFYUVSSVpHUklSR2xaVkFBQUFBUUNyQUdzRFZRTVZBQWtBQUFFbkJ4RWpFU2NIQ1FFRFZUenVWdTQ4QVZVQlZRSEFQTzRDQi8zNTd6Mytxd0ZWQUFBQUFBRUJZZ0RBQXA0Q3dBQUdBQUFCQnhjSEZ3a0JBWjQ4dzhNOEFRRC9BQUxBUE1URVBBRUFBUUFBQUFBQUFRQ1RBTWNEYlFLNUFFY0FBQUV1QVNNaUJnY25QZ0V6TWhjZUFSY1dGdzRCQnljK0FUY2pEZ0VISnlNWERnRWpJaVluSXg0Qk16STJOeGNPQVNNaUp5NEJKeVluUGdFM0Z3NEJCek1uUGdFek1oWVhNd0tqQ2x3OUlqMFdUeXRqTmo0NU9WOGtKUlVZV0RsUEVoZ0ZSQVFOQ0N0UVJnUUpCU0kxQ1VRS1hENFRJeEJJSVVjbVBqazVYeVFsRlJNK0tGNEZCZ0tHS1Ewa0ZTSTBDVVFCM1RwUEdoZFBHUndURWtJdUxUYytaU0ZQRWkwYURCVUpLa1lCQVNrZk9sQUlDRWdORGhNU1FpNHROekJVSUY0S0ZBc3FEUkFvSHdBQUF3Q1RBTWNEYlFLNUFCd0FLQUExQUFBQklnY09BUWNHQnhZWEhnRVhGak15Tno0Qk56WTNKaWN1QVNjbUl4RWlKalUwTmpNeUZoVVVCZ01pQmhVVUZqTXlOalUwSmlNQ0FENDVPVjhrSlJVVkpTUmZPVGsrUGprNVh5UWxGUlVsSkY4NU9UNUZZV0ZGUldGaFJTazdPeWtwT3pzcEFya1RFa0l1TFRjM0xTNUNFaE1URWtJdUxUYzNMUzVDRWhQK1lXRkZSV0ZoUlVWaEFRbzdLU2s3T3lrcE93QURBSUFBd0FPQUFzQUFCQUFJQUF3QUFDVXpOU01WQVJVaE5RRWhOU0VCcTZxcS90VURBUDJBQWdEK0FNQlZWUUlBVlZYKzFWWUFBQUlBOXdEQUF3a0N3QUFGQUFvQUFDVW5OeWNKQVFFekVTTVJBd25FeER6L0FBRUEvaXBXVnZ6RXhEei9BUDhBQWdEK0FBSUFBQUFBQWdDckFVQURWUUpBQUFNQUNBQUFBU0VWSVFVaE5TRVZBMVg5VmdLcS9WWUNxdjFXQWtCVnExVlZBQUFHQUk0QXBBTnlBdHdBQmdBTEFCSUFGZ0FhQUNBQUFBRWhGQVlyQVRVbEZTRTFJU2N5RmhVaE5TRUJJelV6TlNNMU15Y2pORFl6RlFKVkFSMURMNnNCSGY3akFSMXlMMFArQUFHTy91Unljbkp5NUhKREx3RVZMMEp4NUhKeTQwSXZjZjNJY1hKeWNpOUNjUUFDQUpNQXh3TnRBcmtBSEFBb0FBQUJJZ2NPQVFjR0J4WVhIZ0VYRmpNeU56NEJOelkzSmljdUFTY21JeEVpSmpVME5qTXlGaFVVQmdJQVBqazVYeVFsRlJVbEpGODVPVDQrT1RsZkpDVVZGU1VrWHprNVBrVmhZVVZGWVdFQ3VSTVNRaTR0TnpjdExrSVNFeE1TUWk0dE56Y3RMa0lTRS81aFlVVkZZV0ZGUldFQUFBQUNBUGNBd0FNSkFzQUFCZ0FLQUFBVEZ3Y1hDUUVISlRNUkkvZkV4RHdCQVA4QVBBRzhWbFlDaE1URVBBRUFBUUE4UFA0QUFBQUFBQUVBcXdCckExVURGUUFKQUFBQklUY25DUUUzSnlFMUExWDkrZTg5L3FzQlZUenVBZ2NCNis0OC9xditxenp1VmdBQUFBQUNBT1FBcEFNY0F0d0FIQUFtQUFBQk54Y0hNeFVqSGdFWEJ5Y1ZJelVISnpjak5UTW5OeDRCRnpVekZRY3pOelVuSXdjVkhnRUNPV2hRYUpPVEdqUWFVR2h5YUZCb2s1Tm9VQm8wR25Kb1hrTkRYa01SSVFKSmFGQm9jaG8wR2xCb2s1Tm9VR2h5YUZBYU5CcVRrL3REWGtORFhoRWhBQUFCQUlBQzZ3T0FBMEFBQXdBQUV5RVZJWUFEQVAwQUEwQlZBQUFBQXdDQUFNQURnQUxBQUFNQUJ3QUxBQUEzSVRVaE5TRTFJVFVWSVRXQUF3RDlBQU1BL1FBREFNQlZnRmJWVlZVQUFRRUFBRUFEQUFDVkFBTUFBQ1VoRlNFQkFBSUEvZ0NWVlFBQUFBRUExUUdWQXlzQjZ3QUVBQUFUSVJVaE5kVUNWdjJxQWV0V1ZnQUJBV0lBd0FLZUFzQUFCZ0FBQVFjWEJ4Y0pBUUdlUE1QRFBBRUEvd0FDd0R6RXhEd0JBQUVBQUFBQUFBTUFnQURBQTRBQ3dBQURBQWNBQ3dBQU55RTFJUkVWSVRVQklUVWhnQUlBL2dBREFQMEFBd0Q5QU1CVkFhdFZWZjdWVmdBREFGVUFGUU9yQTJzQUhBQXFBRGtBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZakFUUTNQZ0UzTmpNeUZoY0JMZ0VCSWlZbkFSNEJGUlFIRGdFSEJpTUNBRmhPVG5RaElpSWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dQNnJHaHRkUGo1SE8yc3IvaUlpSmdGVk8yc3JBZDRpSmhvYlhUNCtSd05ySWlGMFRrNVlXRTVPZENFaUlpRjBUazVZV0U1T2RDRWkvbFZIUGo1ZEd4b21JdjRpSzJ2KzVpWWlBZDRyYXp0SFBqNWRHeG9BQUFNQWdQL3JBNEFEbFFBWEFDTUFLd0FBQVNNdUFTTWlCZ2NqSWdZVkVSUVdNeUV5TmpVUk5DWWpJVElXRlJRR0l5SW1OVFEyQVNFUk14VWhOVE1ESzdNTlFTb3FRUTJ6SXpJeUl3SldJekl5SS83VkVoa1pFaElaR1FFOS9hcFdBYXBXQTBBbE1EQWxNaVA5VlNNeU1pTUNxeU15R1JJUkdSa1JFaG45QUFLcmdJQUFBQUlBclFCdkExTURFUUFHQUJNQUFDVUhKemNlQVJjVEFRY25CeGNISnpjWE55YzNBV09PS0k0S0ZBcThBVFFmSHZjK1dQWllQWHNlSHYyT0tJNEtGQW9DRlA3TUhoNTdQVmoyV0Q3M0hoOEFDUUE1Ly9rRHh3T0hBQThBRXdBWUFDRUFKUUF1QURJQU5nQTZBQUFGSVNJbU5SRTBOak1oTWhZVkVSUUdBU01WTXdFaEVTRVJCUWNYQnljM0hnRVhKeU1WTXlVSEp3Y25OeDRCRndFakZUTWxJeFV6TnlNVk13TlYvVll2UTBNdkFxb3ZRMFA5MGFxcUFnRCtPUUhIL3R4Q1FpbHBhUW9WQ3R5cXFnSDRLRUZDS0dvYU5ScitDS3FxQVIzazVPT3FxZ2RETHdLcUwwTkRMLzFXTDBNQkhLb0JqdjV5QVk3YlFrRW9hV29LRkFyYnF6RW9RVUVvYVJvMUdnR1dxcXFxcXFvQUFBRUExUUNWQXlzQzZ3QUxBQUFCSVJFakVTRTFJUkV6RVNFREsvOEFWdjhBQVFCV0FRQUJsZjhBQVFCV0FRRC9BQUFBQUFBQkFXSUF3QUtlQXNBQUJnQUFBU2NKQVRjbk53S2VQUDhBQVFBOHc4TUNoRHovQVA4QVBNVEVBQUFBQUFJQVZRQVZBNnNEYXdBY0FEZ0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqRVNJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZSUUhEZ0VIQmdJQVdFNU9kQ0VpSWlGMFRrNVlXRTVPZENFaUlpRjBUazVZUno0K1hSc2FHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNERheUloZEU1T1dGaE9UblFoSWlJaGRFNU9XRmhPVG5RaEl2MEFHaHRkUGo1SFJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUFBQUFBd0JWQUJVRHF3TnJBQndBT1FCVkFBQUJJZ2NPQVFjR0ZSUVhIZ0VYRmpNeU56NEJOelkxTkNjdUFTY21JelVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqRVNJbkxnRW5KalUwTno0Qk56WXpNaGNlQVJjV0ZSUUhEZ0VIQmdJQUxDY25PaEVRRUJFNkp5Y3NMQ2NuT2hFUUVCRTZKeWNzV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlSejQrWFJzYUdodGRQajVIUno0K1hSc2FHaHRkUGo0Q2xSQVJPaWNuTEN3bkp6b1JFQkFST2ljbkxDd25Kem9SRU5ZaUlYUk9UbGhZVGs1MElTSWlJWFJPVGxoWVRrNTBJU0w5QUJvYlhUNCtSMGMrUGwwYkdob2JYVDQrUjBjK1BsMGJHZ0FBQUFFQXF3QnJBMVVERlFBSkFBQUJCeGNoRlNFSEZ3a0JBZ0E4N3YzNUFnZnVQQUZWL3FzREZUenVWdTQ4QVZVQlZRQUFBQUFDQUlBQVFBT0FBMEFBRGdBWUFBQUJFU0VSSXhFVUZqTWhNalkxRVNNRk54Y0hKemNYRVRNUkF5djlxbFV5SXdKV0l6SlYvd0J1UE5YVlBHNVdBY0QrMVFFci90VWpNaklqQVNzZGJqelYxVHh1QVozK1l3QUFBUUVyQVZVQzFRSXJBQU1BQUFFWE55RUJLOVhWL2xZQ0s5YldBQUVCbFFEckFtc0NsUUFEQUFBQkJ4Y1JBbXZXMWdLVjFkVUJxZ0FCQVpVQTZ3SnJBcFVBQXdBQUpUY25FUUdWMXRicjFkWCtWZ0FBQVFFckFWVUMxUUlyQUFNQUFBRTNGeUVCSzlYVi9sWUJWZGJXQUFFQWlRQ2lBM2NDM2dBRkFBQUJKd2NYQVNjQmQ3STg3Z0lBUEFFYnNqM3VBZ0E4QUFFQllnREFBcDRDd0FBR0FBQUJCeGNIRndrQkFaNDh3OE04QVFEL0FBTEFQTVRFUEFFQUFRQUFBQUFBQVFEVkFaVURLd0hyQUFRQUFCTWhGU0UxMVFKVy9hb0I2MVpXQUFFQkFBRWlBd0FDWGdBRkFBQUJCeWNIQ1FFQ3hNVEVQQUVBQVFBQ1hzUERQUDhBQVFBQUFBQUJBQUFBQVFBQWxwR2ZUVjhQUFBVQUN3UUFBQUFBQU5rSjc1TUFBQUFBMlFudmt3QUEvK3NEeHdPVkFBQUFDQUFDQUFBQUFBQUFBQUVBQUFQQS84QUFBQVFBQUFBQUFBUEhBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQTNCQUFBQUFBQUFBQUFBQUFBQWdBQUFBUUFBUUFFQUFBNUJBQUFxd1FBQUZVRUFBRFZCQUFBZ0FRQUFJQUVBQUNBQkFBQXF3UUFBS3NFQUFGaUJBQUFhd1FBQU5VRUFBQlZCQUFBbHdRQUFLc0VBQUZpQkFBQWt3UUFBSk1FQUFDQUJBQUE5d1FBQUtzRUFBQ09CQUFBa3dRQUFQY0VBQUNyQkFBQTVBUUFBSUFFQUFDQUJBQUJBQVFBQU5VRUFBRmlCQUFBZ0FRQUFGVUVBQUNBQkFBQXJRUUFBRGtFQUFEVkJBQUJZZ1FBQUZVRUFBQlZCQUFBcXdRQUFJQUVBQUVyQkFBQmxRUUFBWlVFQUFFckJBQUFpUVFBQVdJRUFBRFZCQUFCQUFBQUFBQUFDZ0FVQUI0QU9nQnNBSVFBeUFEa0FSQUJOQUZZQVdvQnFnSEFBZklDRGdLR0F1UUMvZ01VQTRBRDBnUHVCQW9FSUFSV0JKZ0V0QVRPQlFvRkdBVXdCVDRGVEFWaUJYd0YyZ1ljQmtRR3BnYkFCdFlITGdldUI4Z0g5QWdDQ0JBSUhnZ3NDRDRJVkFoaUNIWUFBUUFBQURjQVZnQUpBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQTRBQUFBQkFBQUFBQUFDQUFjQW53QUJBQUFBQUFBREFBNEFTd0FCQUFBQUFBQUVBQTRBdEFBQkFBQUFBQUFGQUFzQUtnQUJBQUFBQUFBR0FBNEFkUUFCQUFBQUFBQUtBQm9BM2dBREFBRUVDUUFCQUJ3QURnQURBQUVFQ1FBQ0FBNEFwZ0FEQUFFRUNRQURBQndBV1FBREFBRUVDUUFFQUJ3QXdnQURBQUVFQ1FBRkFCWUFOUUFEQUFFRUNRQUdBQndBZ3dBREFBRUVDUUFLQURRQStHRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkZabGNuTnBiMjRnTVM0d0FGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNR0ZuUjNKcFpFMWhkR1Z5YVdGc0FHRUFad0JIQUhJQWFRQmtBRTBBWVFCMEFHVUFjZ0JwQUdFQWJHRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkZKbFozVnNZWElBVWdCbEFHY0FkUUJzQUdFQWNtRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkVadmJuUWdaMlZ1WlhKaGRHVmtJR0o1SUVsamIwMXZiMjR1QUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLW1hdGVyaWFsIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTNweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgKjpmb2N1cywgLmFnLXRoZW1lLW1hdGVyaWFsICogKjpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE1NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzMDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0MjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTUxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1MTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1NTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE1OTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDE0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTcyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3MjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTExOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTg0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4NDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTg5MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExOTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyNDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwNThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiAjNDNhMDQ3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6ICNlNTM5MzU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhY2MxO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiA0MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmZvY3VzLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Zm9jdXMge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tb3otcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06OnBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWEge1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgb3V0bGluZTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZTJlMmUyO1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpob3ZlciwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWNvbHVtbi1yZXNpemluZykgKyAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctY29sdW1uLXJlc2l6aW5nLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpub3QoLmFnLWNvbHVtbi1yZXNpemluZykgKyAuYWctaGVhZGVyLWNlbGw6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlOmhvdmVyLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLmFnLWNvbHVtbi1yZXNpemluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogNDZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyM3B4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNmNTFiNTtcXG4gICAgb3V0bGluZTogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICBtaW4td2lkdGg6IDM0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzE2cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjAxNnB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc4cHgnJTIweDIlM0QnMSclMjB5MiUzRCc4cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0UyRTJFMiclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAzNHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiA1NnB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgMTZweDtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxuICAgICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2VlZTtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAzMnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogOHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIHBhZGRpbmctdG9wOiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBjb2xvcjogIzNmNTFiNTtcXG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiA1NnB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiUm9ib3RvXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIHBhZGRpbmc6IDAgMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMThweDtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMiwgMTM0LCAyMDMsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA4OCwgMjU1LCAwLjEpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyNTUsIDEzMiwgMC4xKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4yKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC40KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC41KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzNmNTFiNTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgI2FmYWZhZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDI0cHg7XFxuICAgIGhlaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAzMTJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA4cHggMCAyNHB4O1xcbiAgICAgIGhlaWdodDogNDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogNDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxOHB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XFxuICAgIGhlaWdodDogNDhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgOHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZTJlMmUyO1xcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDMycHg7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjU0OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICBwYWRkaW5nOiA4cHg7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgIGhlaWdodDogMTQwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNldC1maWx0ZXItbGlzdCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWRhdGEtY2hhbmdlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjYzEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICAgIHdpZHRoOiAyMnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMTZweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiAxNDRweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMjI2LCAyMjYsIDIyNiwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWl0ZW0ge1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cge1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBoZWlnaHQ6IDU2cHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgICAgcGFkZGluZzogMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzNmNTFiNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGZvbnQtc2l6ZTogMTFweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gICAgc3BlYWs6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMThweDtcXG4gICAgY29sb3I6ICMzMzM7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XFxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZmY0MDgxOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb2x1bW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZCAuYWctaWNvbi1jb250cmFjdGVkOmVtcHR5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY3V0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leHBhbmRlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWZpbHRlcjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcm93LWRyYWc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sYXN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbG9hZGluZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbmltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm9uZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1waW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1wcmV2aW91czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICNmZjQwODE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMjRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCI1NnB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiNDJweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCI0MHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCIxNDBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjI2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjQ4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiOHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE4cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmIHtcXG4gICAgaGVpZ2h0OiAyNHB4O1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgZm9udC1zaXplOiAyNHB4O1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTRlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGhlaWdodDogMzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciB7XFxuICAgIGJvcmRlci1ib3R0b206IDA7XFxuICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgYm9yZGVyLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgYnV0dG9uIHtcXG4gICAgICBib3JkZXI6IDA7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2VsZWN0ZWQgYnV0dG9uIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgIG1hcmdpbi1yaWdodDogLTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4OyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiLypcXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxcbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxcbipcXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXFxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cXG4qL1xcblxcbi5ndy1hbGlnbm1lbnQtY2VsbC1yaWdodCxcXG4uZ3ctYWxpZ25tZW50LWNlbGwtcmlnaHQgLmFnLWNlbGwtdmFsdWUge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMTtcXG4gICAgICAgICAgICBmbGV4OiAxO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWNlbGwtY2VudGVyLFxcbi5ndy1hbGlnbm1lbnQtY2VsbC1jZW50ZXIgLmFnLWNlbGwtdmFsdWUge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICAgIGZsZXg6IDE7XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLXJpZ2h0IC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7ICAgIFxcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1jZW50ZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG5cXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1yaWdodCAuYWctY2VsbC1sYWJlbC1jb250YWluZXIsXFxuLmd3LWFsaWdubWVudC1oZWFkZXItY2VudGVyIC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lciB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbn1cIiIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7XG59O1xuXG52YXIgZ2V0RWxlbWVudCA9IChmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW8gPSB7fTtcblxuXHRyZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFzc2luZyBmdW5jdGlvbiBpbiBvcHRpb25zLCB0aGVuIHVzZSBpdCBmb3IgcmVzb2x2ZSBcImhlYWRcIiBlbGVtZW50LlxuICAgICAgICAgICAgICAgIC8vIFVzZWZ1bCBmb3IgU2hhZG93IFJvb3Qgc3R5bGUgaS5lXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgaW5zZXJ0SW50bzogZnVuY3Rpb24gKCkgeyByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNmb29cIikuc2hhZG93Um9vdCB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0XHR2YXIgc3R5bGVUYXJnZXQgPSBnZXRUYXJnZXQuY2FsbCh0aGlzLCB0YXJnZXQpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuXHRcdFx0XHRcdC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcblx0XHRcdFx0fSBjYXRjaChlKSB7XG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcblx0XHR9XG5cdFx0cmV0dXJuIG1lbW9bdGFyZ2V0XVxuXHR9O1xufSkoKTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IHJlcXVpcmUoXCIuL3VybHNcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcbiAgICAgICAgaWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cbiIsIlxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvfFxccyokKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuIiwidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0aWYgKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XG5cdFx0bW9kdWxlLmRlcHJlY2F0ZSA9IGZ1bmN0aW9uKCkge307XG5cdFx0bW9kdWxlLnBhdGhzID0gW107XG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XG5cdFx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xuXHR9XG5cdHJldHVybiBtb2R1bGU7XG59O1xuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogU3RhcnQgY2VsbCBlZGl0aW5nXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtTdHJpbmd8bnVtYmVyfSByb3cgVGhlIHJvdyBpbmRleFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbEtleSBUaGUgY29sdW1uJ3Mga2V5XG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IGtleSAgS2V5IHByZXNzXG4gKiBAcGFyYW0ge1N0cmluZ30gY2hhciBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3N0YXJ0RWRpdGluZ0NlbGwoaWQsIHJvdywgY29sS2V5LCBrZXksIGNoYXIpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuc2V0Rm9jdXNlZENlbGwoTnVtYmVyKHJvdyksIGNvbEtleSk7XG4gIG9wdGlvbnMuYXBpLnN0YXJ0RWRpdGluZ0NlbGwoe1xuICAgIHJvd0luZGV4OiBOdW1iZXIocm93KSxcbiAgICBjb2xLZXk6IGNvbEtleSxcbiAgICBrZXlQcmVzczogTnVtYmVyKGtleSksXG4gICAgY2hhclByZXNzOiBjaGFyXG4gIH0pO1xufVxuXG4vKipcbiAqIFN0b3AgY2VsbCBlZGl0aW5nIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gY2FuY2VsIHdoZW4gdHJ1ZSBjYW5jZWwgZWRpdHMgLCBzYXZlIGVkaXRzIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc3RvcEVkaXRpbmcoaWQsIGNhbmNlbCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zdG9wRWRpdGluZyhjYW5jZWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZWRpdE5leHRDZWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnRhYlRvTmV4dENlbGwoKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19lZGl0UHJldmlvdXNDZWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnRhYlRvUHJldmlvdXNDZWxsKCk7XG59XG5cbi8qKlxuICogU2V0IEZvY3VzIG9uIHRoZSBnaXZlbiByb3cgYW5kIGNvbHVtblxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0gcm93IFRoZSByb3cncyBpbmRleC9pZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbiBUaGUgY29sdW1uIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRGb2N1c2VkQ2VsbChpZCwgcm93LCBjb2x1bW4pIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHIgPSAhcm93ID8gMCA6IChOdW1iZXIuaXNJbnRlZ2VyKCtyb3cpID8gK3JvdyA6IG9wdGlvbnMuYXBpLmdldFJvd05vZGUocm93KS5yb3dJbmRleCk7XG4gIGNvbnN0IGMgPSBjb2x1bW4gPyBjb2x1bW4gOiBvcHRpb25zLmNvbHVtbkFwaS5nZXRBbGxHcmlkQ29sdW1ucygpWzBdLmNvbElkO1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRGb2N1c2VkQ2VsbChyLCBjKTtcbn0iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuY29uc3QgeyBkZWVwUGFyc2VKc29uIH0gPSByZXF1aXJlKFwiZGVlcC1wYXJzZS1qc29uXCIpO1xuXG4vKipcbiAqIEV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zXG4gKiBcbiAqIEV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zIHdpdGggb3B0aW9ucyB3aGljaCBjYW4gbm90IGJlIGhhbmRsZWQgaW4gQkJqXG4gKiAoZXg6IGF0dGFjaGluZyBjYWxsYmFja3MpXG4gKiBcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZGVmaW5pdGlvbnMpIHtcblxuICBmb3IgKGxldCBpIGluIGRlZmluaXRpb25zKSB7XG4gICAgY29uc3QgZGVmID0gZGVmaW5pdGlvbnNbaV07XG5cbiAgICBkZWYuY2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuY2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3g7XG4gICAgZGVmLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gZGVmLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uIHx8IGd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb247XG4gIH1cbn1cblxuLyoqXG4gKiBVcGRhdGUgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0FycmF5fSBkZWZpbml0aW9ucyBhcnJheSBvZiBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldENvbHVtbkRlZmluaXRpb25zKGlkLCBkZWZpbml0aW9ucykge1xuICBjb25zdCBncmlkID0gZ3dfZ2V0R3JpZChpZCk7XG4gIGNvbnN0IGRlZXBQYXJzZWREZWZpbml0aW9ucyA9IGRlZXBQYXJzZUpzb24oSlNPTi5zdHJpbmdpZnkoZGVmaW5pdGlvbnMpKTtcblxuICBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWVwUGFyc2VkRGVmaW5pdGlvbnMpO1xuXG4gIGdyaWQub3B0aW9ucy5hcGkuc2V0Q29sdW1uRGVmcyhkZWVwUGFyc2VkRGVmaW5pdGlvbnMpO1xuICBncmlkLm9wdGlvbnMuY29sdW1uRGVmcyA9IGRlZXBQYXJzZWREZWZpbml0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NpemVDb2x1bW5zVG9GaXQoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0VmlzaWJsZUNvbHVtbihpZCwgY29sdW1uSWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZW5zdXJlQ29sdW1uVmlzaWJsZShjb2x1bW5JZCk7XG59XG5cbi8qKlxuICogU2V0IENvbHVtbiBXaWR0aFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gd2lkdGggVGhlIG5ldyBjb2x1bW4gd2lkdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldENvbHVtbldpZHRoKGlkLCBjb2x1bW5JZCwgd2lkdGgpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuc2V0Q29sdW1uV2lkdGgoY29sdW1uSWQsIE51bWJlcih3aWR0aCkpO1xufVxuXG4vKipcbiAqIFBpbiBDb2x1bW5cbiAqXG4gKiBQaW4gYSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBkaXJlY3Rpb25cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5JZCBUaGUgY29sdW1uIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gcGluIFRoZSBwaW4gZGlyZWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19waW5Db2x1bW4oaWQsIGNvbHVtbklkLCBwaW4pIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuc2V0Q29sdW1uUGlubmVkKGNvbHVtbklkLCBwaW4pO1xufVxuXG4vKipcbiAqIE1vdmUgQ29sdW1uXG4gKlxuICogTW92ZSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBpbmRleFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gdG9JbmRleCBUaGUgbmV3IGNvbHVtbiBpbmRleFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfbW92ZUNvbHVtbihpZCwgY29sdW1uSWQsIHRvSW5kZXgpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAubW92ZUNvbHVtbihjb2x1bW5JZCwgdG9JbmRleCk7XG59XG5cbi8qKlxuICogU2hvdyAvIEhpZGUgc2VsZWN0aW9uIGNoZWNrYm94IGJhc2VkIG9uIHRoZSBmaXJzdCBjb2x1bW5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gbWFrZSBzdXJlIHRoYXQgdGhlIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3gocGFyYW0pIHtcbiAgaWYgKCFwYXJhbS5jb250ZXh0LnNob3dTZWxlY3Rpb25DaGVja2JveCkgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBwYXJhbS5jb2x1bW5BcGkuZ2V0QWxsRGlzcGxheWVkVmlydHVhbENvbHVtbnMoKTtcblxuICByZXR1cm4gY29sdW1uc1swXS5jb2xEZWYuZmllbGQgPT09IHBhcmFtLmNvbERlZi5maWVsZDtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBoZWFkZXIgc2VsZWN0aW9uIGNoZWNrYm94IGJhc2VkIG9uIHRoZSBmaXJzdCBjb2x1bW5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gbWFrZSBzdXJlIHRoYXQgdGhlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggaXMgYWx3YXlzIHNob3duIG9uIHRoZVxuICogZmlyc3QgY29sdW1uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtXG4gKlxuICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIGZpcnN0IGNvbHVtbiAsIGZhbHNlIGlmIG5vdCB0aGUgZmlyc3QgY29sdW1uIG9yIGlmIHRoZVxuICogICAgICAgICAgICAgICAgICAgZ3JpZCdzIGBDb250ZXh0LnNob3dIZWFkZXJTZWxlY3Rpb25DaGVja2JveGAgaXMgZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24ocGFyYW0pIHtcbiAgY29uc3QgY29udGV4dCA9IHBhcmFtLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcblxuICBpZiAoIWNvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIEVuYWJsZSByb3cgZ3JvdXBpbmcgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc2V0ICBXaGVuIHRydWUgLCBgc2V0Um93R3JvdXBDb2x1bW5zYCB3aWxsIGJlIHVzZWQgLCBgYWRkUm93R3JvdXBDb2x1bW5zYCBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFJvd0dyb3VwQ29sdW1uKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlbc2V0ID8gXCJzZXRSb3dHcm91cENvbHVtbnNcIiA6IFwiYWRkUm93R3JvdXBDb2x1bW5zXCJdKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlUm93R3JvdXBDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFBpdm90TW9kZShpZCkge1xuICByZXR1cm4gZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuaXNQaXZvdE1vZGUoKTtcbn1cblxuLyoqXG4gKiBFbmFibGUgLyBkaXNiYWxlIHBpdm90IG1vZGUgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtCb29sZWFufSBtb2RlIHdoZW4gdHJ1ZSBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFBpdm90TW9kZShpZCwgbW9kZSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRQaXZvdE1vZGUoISFOdW1iZXIobW9kZSkpO1xufVxuXG4vKipcbiAqIEVuYWJsZSBwaXZvdCBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBhZGRQaXZvdENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBzZXRQaXZvdENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUGl2b3RDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlbc2V0ID8gXCJzZXRQaXZvdENvbHVtbnNcIiA6IFwiYWRkUGl2b3RDb2x1bW5zXCJdKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlUGl2b3RDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBFbmFibGUgdmFsdWUgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFZhbHVlQ29sdW1ucyhpZCwgY29sdW1ucywgc2V0KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLmFkZFZhbHVlQ29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG5cbi8qKlxuICogRGlzYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnJlbW92ZVZhbHVlQ29sdW1ucyhcbiAgICAgIGNvbHVtbnMuc3BsaXQoXCIsXCIpLm1hcChpID0+IGkudHJpbSgpKVxuICAgICk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBVcGRhdGUgY29udGV4dCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ30ga2V5IFRoZSBjb250ZXh0J3Mga2V5IHRvIHVwZGF0ZVxuICogQHBhcmFtIHtTdHJpbmd9IHZhbHVlICBUaGUgbmV3IGNvbnRleHQncyB2YWx1ZSBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3VwZGF0ZUNvbnRleHQoaWQsIGtleSwgdmFsdWUpIHtcblx0Z3dfZ2V0R3JpZChpZClcblx0XHQub3B0aW9uc1xuXHRcdC5jb250ZXh0W2tleV0gPSBKU09OLnBhcnNlKHZhbHVlKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbml0LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Jvd3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHBhbmVsLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzYmFyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vanNzLmpzJzsiLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuaW1wb3J0IHsgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMgfSBmcm9tIFwiLi9jb2x1bW5zXCI7XG5pbXBvcnQgeyBnd19uYXZpZ2F0ZVRvTmV4dFJvdyB9ICAgICAgIGZyb20gXCIuL3Jvd3NcIjtcbmltcG9ydCB7IGd3X2dldENvbnRleHRNZW51IH0gICAgICAgICAgZnJvbSBcIi4vbWVudXNcIjtcbmltcG9ydCB7IGd3X2dldERvY3VtZW50LCBnd19hZGRHcmlkfSAgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBnd19vblJvd0RvdWJsZUNsaWNrZWQsXG4gIGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pLFxuICAgICAgXCJjb21wb25lbnRzXCI6IHtcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXJcIiAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc1JlbmRlcmVyLFxuICAgICAgICBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zRWRpdG9yICAsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNGaWx0ZXIgICxcbiAgICAgICAgXCJCYXNpY051bWJlcnNFZGl0b3JcIiAgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNOdW1iZXJzRWRpdG9yICAgLFxuICAgICAgICBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0RhdGVUaW1lc0VkaXRvciAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRmlsdGVyICxcbiAgICAgICAgXCJCYXNpY0ltYWdlc1JlbmRlcmVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNJbWFnZXNSZW5kZXJlciAgLFxuICAgICAgICAvLyBsb2Rhc2ggdGVtcGxhdGUgcmVuZGVyXG4gICAgICAgIFwiR1dDdXN0b21IVE1MVGVtcGxhdGVSZW5kZXJlclwiOiBwYXJhbXMgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbXBpbGVkID0gdGVtcGxhdGUocGFyYW1zLl9fVEVNUExBVEVfXyk7XG4gICAgICAgICAgcmV0dXJuIGNvbXBpbGVkKHsgcGFyYW1zOiBwYXJhbXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgaWYgKFxuICAgIGZpbmFsT3B0aW9ucy5jb250ZXh0Lmhhc093blByb3BlcnR5KFwibmF2aWdhdGVUb05leHRDZWxsXCIpICYmXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQubmF2aWdhdGVUb05leHRDZWxsXG4gICkge1xuICAgIGZpbmFsT3B0aW9ucy5uYXZpZ2F0ZVRvTmV4dENlbGwgPSBwYXJhbXMgPT4geyByZXR1cm4gZ3dfbmF2aWdhdGVUb05leHRSb3coaWQsIHBhcmFtcykgfTtcbiAgfVxuXG4gIGlmIChnZXREYXRhUGF0aFRlbXBsYXRlICYmIGZpbmFsT3B0aW9ucy50cmVlRGF0YSkge1xuICAgIGNvbnN0IGdldERhdGFQYXRoVGVtcGxhdGVDb21wbGllZCA9IHRlbXBsYXRlKGdldERhdGFQYXRoVGVtcGxhdGUpO1xuICAgIGZpbmFsT3B0aW9ucy5nZXREYXRhUGF0aCA9IGRhdGEgPT4gZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkKHsgZGF0YTogZGF0YSB9KTtcbiAgfVxuXG4gIC8vIGV4dGVuZCB0aGUgY29sdW1uIGRlZmluaXRpb25zXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGZpbmFsT3B0aW9ucy5jb2x1bW5EZWZzKTtcblxuICByZXR1cm4gZmluYWxPcHRpb25zO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0ICdleHBvc2UtbG9hZGVyP2pzcyFqc3MvanNzLmpzJztcbmltcG9ydCB7Z3dfZ2V0RG9jdW1lbnR9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIEZvcm1hdGUgdGhlIGNzcyBzZWxlY3RvciBcbiAqIFxuICogQ2hlY2sgaWYgdGhlIGNzcyBzZWxlY3RvciBzdGFydHMgd2l0aCBkb3QgLCBpZiBub3QgYWRkIG9uZSBhbmQgcmV0dXJuIHRoZSBcbiAqIGZvcm1hdHRlZCBuYW1lIFxuICogXG4gKiBAcGFyYW0geyp9IHNlbGVjdG9yIFxuICovXG5mdW5jdGlvbiBmb3JtYXRTZWxlY3RvcihzZWxlY3Rvcil7XG4gIHJldHVybiBzZWxlY3Rvci5zdGFydHNXaXRoKFwiLlwiKSA/IHNlbGVjdG9yIDogYC4ke3NlbGVjdG9yfWA7XG59XG5cbi8qKlxuICogQWRkIG5ldyBzdHlsZSBcbiAqIFxuICogQWRkIG5ldyBzdHlsZSB0byB0aGUgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqIEBwYXJhbSB7U3RyaW5nfSBydWxlcyBKc29uIHN0cmluZyBmb3IgYW4gYXJyYXkgb2YgcnVsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0eWxlKHNlbGVjdG9yLCBydWxlcykge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkuc2V0KGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSwgSlNPTi5wYXJzZShydWxlcykpO1xufVxuXG4vKipcbiAqIFJlbW92ZSBzdHlsZVxuICogXG4gKiBSZW1vdmUgYWRkZWQgc3R5bGUgZnJvbSB0aGVzIGRvY3VtZW50IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3IgY3NzIHNlbGVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVTdHlsZShzZWxlY3Rvcikge1xuICBqc3MuZm9yRG9jdW1lbnQoZ3dfZ2V0RG9jdW1lbnQoKSkucmVtb3ZlKGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIlxuaW1wb3J0IHtcbiAgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50LFxuICBnd19zZW5kRXZlbnRcbn0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldENvbnRleHRNZW51KGdyaWRJZCwgcGFyYW1zKSB7XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0TWVudUFjdGlvbiA9IChwYXJhbXMsIGlkKSA9PiB7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuXG4gICAgICBjb25zdCBub2RlID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KHBhcmFtcyk7XG4gICAgICBjb25zdCBjb2xJZCA9IHBhcmFtcy5jb2x1bW4uY29sSWQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgZ3dfc2VuZEV2ZW50KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICAgJ3R5cGUnOiAnZ3cuY29udGV4dG1lbnUnLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoeyByb3c6IG5vZGUsIGNvbHVtbjogY29sSWQsIHZhbHVlLCBpZCB9KVxuICAgICAgfSwgaWQpO1xuICAgIH07XG4gIH07XG5cbiAgY29uc3QgcGFyc2VNZW51ID0gKG1lbnUpID0+IHtcbiAgICBtZW51LmZvckVhY2goaXRlbSA9PiB7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHJldHVybjtcblxuICAgICAgaXRlbVsnYWN0aW9uJ10gPSBidWlsZENvbnRleHRNZW51QWN0aW9uKHBhcmFtcywgaXRlbS5pZCk7XG5cbiAgICAgIGlmIChpdGVtWydjc3NDbGFzc2VzJ10gJiYgIUFycmF5LmlzQXJyYXkoaXRlbVsnY3NzQ2xhc3NlcyddKSlcbiAgICAgICAgaXRlbVsnY3NzQ2xhc3NlcyddID0gaXRlbVsnY3NzQ2xhc3NlcyddLnNwbGl0KFwiIFwiKTtcblxuICAgICAgaWYgKGl0ZW1bJ3N1Yk1lbnUnXSkgaXRlbVsnc3ViTWVudSddID0gcGFyc2VNZW51KGl0ZW1bJ3N1Yk1lbnUnXSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VNZW51KGd3X2dldEdyaWQoZ3JpZElkKS5vcHRpb25zLmNvbnRleHQuY29udGV4dE1lbnUpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogU2hvdyBsb2FkaW5nIG92ZXJsYXlcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zaG93TG9hZGluZ092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG59XG5cbi8qKlxuICogU2hvdyAnbm8gcm93cycgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dOb1Jvd3NPdmVybGF5KGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNob3dOb1Jvd3NPdmVybGF5KCk7XG59XG5cbi8qKlxuICogQ2xlYXIgYWxsIG92ZXJsYXlzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaGlkZU92ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuaGlkZU92ZXJsYXkoKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuaW1wb3J0IHsgZ3dfcGFyc2VOb2RlIH0gZnJvbSBcImV2ZW50cy91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFF1aWNrRmlsdGVyKGlkLCBmaWx0ZXIpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0UXVpY2tGaWx0ZXIoZmlsdGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2V4cGFuZEFsbChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5leHBhbmRBbGwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2NvbGxhcHNlQWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNvbGxhcHNlQWxsKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlUm93KGlkLCBpbmRleCwgcG9zaXRpb24pIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuZW5zdXJlSW5kZXhWaXNpYmxlKGluZGV4LCBwb3NpdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB7XG5cbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGxldCBwcmV2aW91c0NlbGwgPSBwYXJhbXMucHJldmlvdXNDZWxsUG9zaXRpb247XG4gIGxldCBzdWdnZXN0ZWROZXh0Q2VsbCA9IHBhcmFtcy5uZXh0Q2VsbFBvc2l0aW9uO1xuXG4gIGNvbnN0IEtFWV9VUCA9IDM4O1xuICBjb25zdCBLRVlfRE9XTiA9IDQwO1xuICBjb25zdCBLRVlfTEVGVCA9IDM3O1xuICBjb25zdCBLRVlfUklHSFQgPSAzOTtcblxuICBzd2l0Y2ggKHBhcmFtcy5rZXkpIHtcbiAgICBjYXNlIEtFWV9ET1dOOlxuICAgICAgLy8gc2V0IHNlbGVjdGVkIGNlbGwgb24gY3VycmVudCBjZWxsICsgMVxuICAgICAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUoKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ2VsbC5yb3dJbmRleCArIDEgPT09IG5vZGUucm93SW5kZXgpIHtcbiAgICAgICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBjYXNlIEtFWV9VUDpcbiAgICAgIC8vIHNldCBzZWxlY3RlZCBjZWxsIG9uIGN1cnJlbnQgY2VsbCAtIDFcbiAgICAgIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKChub2RlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NlbGwucm93SW5kZXggLSAxID09PSBub2RlLnJvd0luZGV4KSB7XG4gICAgICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3VnZ2VzdGVkTmV4dENlbGw7XG4gICAgY2FzZSBLRVlfTEVGVDpcbiAgICBjYXNlIEtFWV9SSUdIVDpcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGhhdmUgc3VwZXIgc3RyYW5nZSBrZXlib2FyZFwiKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Um93Tm9kZUlkKGlkLCBkYXRhKSB7XG4gIHJldHVybiBkYXRhW2d3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dC5nZXRSb3dOb2RlSWRdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93c0RhdGEoaWQsIGpzb24pIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuc2V0Um93RGF0YShqc29uKTtcbiAgb3B0aW9ucy5yb3dEYXRhID0ganNvbjtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFJvd0RhdGEoaWQsIHJvdykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgdXBkYXRlOiBbcm93XSB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVJvd3MoaWQsIGluZGV4ZXMpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGxldCBpdGVtcyA9IFtdO1xuXG4gIGluZGV4ZXMuZm9yRWFjaChpbmRleCA9PiB7XG4gICAgaXRlbXMucHVzaChvcHRpb25zLmFwaS5nZXRSb3dOb2RlKGluZGV4KS5kYXRhKTtcbiAgfSk7XG5cbiAgb3B0aW9ucy5hcGkudXBkYXRlUm93RGF0YSh7IHJlbW92ZTogaXRlbXMgfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRSb3dzKGlkLCBpbmRleCwgcm93cykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgYWRkOiByb3dzLCBhZGRJbmRleDogaW5kZXggfSk7XG4gIG9wdGlvbnMuYXBpLnJlZnJlc2hDbGllbnRTaWRlUm93TW9kZWwoJ2dyb3VwJyk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBoZWlnaHQgb2YgYWxsIHJvd3MgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtOdW1iZXJ9IGhlaWdodCB0aGUgcm93IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93c0hlaWdodChpZCwgaGVpZ2h0KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlKHJvdyA9PiB7XG4gICAgcm93LnNldFJvd0hlaWdodChoZWlnaHQpO1xuICB9KTtcbiAgb3B0aW9ucy5hcGkub25Sb3dIZWlnaHRDaGFuZ2VkKCk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBnaXZlbiByb3cgaGVpZ2h0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWQgXG4gKiBAcGFyYW0ge051bWJlcn0gaW5kZXggdGhlIHJvdyBpbmRleFxuICogQHBhcmFtIHtOdW1iZXJ9IGhlaWdodCB0aGUgbmV3IGhlaWdodFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93SGVpZ2h0KGlkLCBpbmRleCwgaGVpZ2h0KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCByb3cgPSBvcHRpb25zLmFwaS5nZXREaXNwbGF5ZWRSb3dBdEluZGV4KGluZGV4KTtcblxuICBpZiAocm93KSB7XG4gICAgcm93LnNldFJvd0hlaWdodChoZWlnaHQpO1xuICAgIG9wdGlvbnMuYXBpLm9uUm93SGVpZ2h0Q2hhbmdlZCgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHNldCBoZWlnaHQgZm9yIHJvdyAke2luZGV4fS4gUm93IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U2VsZWN0ZWRSb3dzKGlkLCByb3dzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLmZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0KG5vZGUgPT4ge1xuICAgIGlmIChyb3dzLmluZGV4T2Yobm9kZS5yb3dJbmRleCkgPiAtMSkge1xuICAgICAgbm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgIG5vZGUuZXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIG9wdGlvbnMuYXBpLm9uR3JvdXBFeHBhbmRlZE9yQ29sbGFwc2VkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZWxlY3RBbGwoaWQsIGZpbHRlcmVkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIGlmICgxID09PSBmaWx0ZXJlZCkge1xuICAgIG9wdGlvbnMuYXBpLnNlbGVjdEFsbEZpbHRlcmVkKCk7XG4gIH0gZWxzZSB7XG4gICAgb3B0aW9ucy5hcGkuc2VsZWN0QWxsKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2Rlc2VsZWN0QWxsKGlkLCBmaWx0ZXJlZCkge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBpZiAoMSA9PT0gZmlsdGVyZWQpIHtcbiAgICBvcHRpb25zLmFwaS5kZXNlbGVjdEFsbEZpbHRlcmVkKCk7XG4gIH0gZWxzZSB7XG4gICAgb3B0aW9ucy5hcGkuZGVzZWxlY3RBbGwoKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCBzZWxlY3RlZCByb3dzXG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybnMge1N0cmluZ30gIHNlbGVjdGVkIHJvd3MgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U2VsZWN0ZWRSb3dzKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBub2RlcyA9IG9wdGlvbnMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKTtcbiAgbGV0IHBhcnNlZCA9IFtdO1xuXG4gIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgcGFyc2VkLnB1c2goZ3dfcGFyc2VOb2RlKG5vZGUsIG9wdGlvbnMuY29udGV4dCkpO1xuICB9KTtcblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocGFyc2VkKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGxhc3Qgc2VsZWN0ZWQgcm93XG4gKiBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybnMge1N0cmluZ30gc2VsZWN0ZWQgcm93IGFzIEpTT05cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFNlbGVjdGVkUm93KGlkKSB7XG4gIGNvbnN0IHJvd3MgPSBKU09OLnBhcnNlKGd3X2dldFNlbGVjdGVkUm93cyhpZCkpO1xuXG4gIGlmIChyb3dzLmxlbmd0aCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShyb3dzW3Jvd3MubGVuZ3RoIC0gMV0pO1xuICB9XG5cbiAgcmV0dXJuICcnO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3RhdGUoaWQsIHN0YXRlKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIHRyeSB7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uU3RhdGUoc3RhdGUuY29sdW1ucyk7XG4gICAgb3B0aW9ucy5jb2x1bW5BcGkuc2V0Q29sdW1uR3JvdXBTdGF0ZShzdGF0ZS5ncm91cHMpO1xuICAgIG9wdGlvbnMuYXBpLnNldFNvcnRNb2RlbChzdGF0ZS5zb3J0KTtcbiAgICBvcHRpb25zLmFwaS5zZXRGaWx0ZXJNb2RlbChzdGF0ZS5maWx0ZXJzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIHBhcnNlIGdyaWQgc3RhdGUgZnJvbSBKU09OJywgZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFN0YXRlKGlkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuICBjb25zdCBjb2x1bW5zID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcbiAgY29uc3QgZ3JvdXBzID0gb3B0aW9ucy5jb2x1bW5BcGkuZ2V0Q29sdW1uR3JvdXBTdGF0ZSgpO1xuICBjb25zdCBzb3J0ID0gb3B0aW9ucy5hcGkuZ2V0U29ydE1vZGVsKCk7XG4gIGNvbnN0IGZpbHRlcnMgPSBvcHRpb25zLmFwaS5nZXRGaWx0ZXJNb2RlbCgpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbHVtbnMsXG4gICAgICBncm91cHMsXG4gICAgICBzb3J0LFxuICAgICAgZmlsdGVyc1xuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gY29udmVydCB0aGUgZ3JpZCBzdGF0ZSB0byBqc29uJywgZSk7XG4gIH1cbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkoaWQsIGtleSwgdmlzaWJpbGl0eSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmFwaVxuXHRcdC5nZXRTdGF0dXNQYW5lbChrZXkpXG5cdFx0LnNldFZpc2libGUoQm9vbGVhbih2aXNpYmlsaXR5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTaWRlQmFyVmlzaWJsZShpZCwgdmFsdWUpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2V0U2lkZUJhclZpc2libGUoQm9vbGVhbih2YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfb3BlblRvb2xwYW5lbChncmlkSWQsIHRvb2xwYW5lbElkKSB7XG4gIGd3X2dldEdyaWQoZ3JpZElkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5vcGVuVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2Nsb3NlVG9vbHBhbmVsKGdyaWRJZCwgdG9vbHBhbmVsSWQpIHtcbiAgZ3dfZ2V0R3JpZChncmlkSWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmNsb3NlVG9vbFBhbmVsKHRvb2xwYW5lbElkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5KGlkLCByZWFkb25seSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRGdW5jdGlvbnNSZWFkT25seShCb29sZWFuKHJlYWRvbmx5KSk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKlxuICogR2V0IGRvY3VtZW50IFxuICogXG4gKiBHZXQgdGhlIGRvY3VtZW50IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gRG9jdW1lbnQgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldERvY3VtZW50KCkge1xuICByZXR1cm4gdHlwZW9mICRkb2MgIT09ICd1bmRlZmluZWQnID8gJGRvYyA6IGRvY3VtZW50O1xufVxuXG4vKipcbiAqIEdldCB3aW5kb3cgXG4gKiBcbiAqIEdldCB0aGUgd2luZG93IGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBCQmogZW52XG4gKiBcbiAqIEByZXR1cm4ge09iamVjdH0gV2luZG93IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRXaW5kb3coKSB7XG4gIHJldHVybiB0eXBlb2YgJHdpbiAhPT0gJ3VuZGVmaW5lZCcgPyAkd2luIDogd2luZG93O1xufVxuXG4vKipcbiAqIEVzY2FwZSBWYWx1ZSBcbiAqIFxuICogQ2hhbmdlIG51bGwgYW5kIHVuZGVmaW5lZCB0byBlbXB0eSBzdHJpbmcgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gKiBcbiAqIEByZXR1cm4ge1N0cmluZ30gZXNjYXBlZCB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXNjYXBlKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiAnJztcbn1cblxuLyoqXG4gKiBHZXQgR3JpZCBcbiAqIFxuICogUmV0cmlldmUgdGhlIGdyaWQgaW5zdGFuY2UgZnJvbSBgd2luZG93LkJCakdyaWRFeFdpZGdldGAgYXJyYXkgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBcbiAqIEByZXR1cm4ge09iamVjdHxudWxsfSBUaGUgZ3JpZCdzIGluc3RhbmNlIG9mciBudWxsXG4gKiBAdGhyb3dzIFR5cGVFcnJvciB3aGVuIHRoZSBncmlkIGluc3RhbmNlIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0R3JpZChpZCkge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgY29uc3QgZ3JpZCA9ICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0W2lkXSB8fCBudWxsO1xuXG4gIGlmICghZ3JpZCkge1xuICAgIGNvbnN0IHJlZ2lzdGVyZWRHcmlkcyA9IEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQpKTtcbiAgICAvL2dldEZ1bmNBcmdzKGZ1bmMpLmZvckVhY2goKGtleSwgaSkgPT4gYXJnc09ialtrZXldID0gYXJnc1tpXSk7XG4gICAgXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbmBcXG5cXG5bR3JpZCBOb3QgRm91bmRdIFRoZSBtZXRob2QgYXNrZWQgZm9yIG5vbi1leGlzdGVudCBncmlkIGluc3RhbmNlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVxdWlyZWQgR3JpZCBJZCA6ICR7aWR9ICAgXG5SZWdpc3RlcmVkIEdyaWRzIDogJHtyZWdpc3RlcmVkR3JpZHN9XG5gKTtcbiAgfVxuICBcbiAgcmV0dXJuIGdyaWQ7XG59XG5cbi8qKlxuICogQWRkIEdyaWQgXG4gKiBcbiAqIFN0b3JlIGEgbmV3IGdyaWQgaW5zdGFuY2UgYnkgaW4gdGhlIGB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0YCBhcnJheSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zICBUaGUgZ3JpZCdzIG9wdGlvbnNcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBTdG9yZWQgZ3JpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkR3JpZChpZCwgb3B0aW9ucykge1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0ID0gd2luZG93LkJCakdyaWRFeFdpZGdldCB8fCB7fTtcbiAgd2luZG93LkJCakdyaWRFeFdpZGdldFtpZF0gPSBvcHRpb25zO1xuICBcbiAgcmV0dXJuIGd3X2dldEdyaWQoaWQpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLy8gc2VsZWN0aW9uIGNvbnN0YW50c1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19DTElDSyA9IDY5O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0sgPSA1MjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0NMSUNLID0gNTAwMTtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyA9IDUwMDI7XG5cbi8vIGVkaXRpbmcgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQgPSA1MDAzO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVEID0gNTAwNDtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQgPSA1MDA1O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQgID0gNTAwNjtcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVEID0gNTAwNztcblxuLy8gc3RhdGUgY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0UgPSA1MDA4OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gIEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsRWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVELFxuICAnY2VsbEVkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RPUFBFRCxcbiAgJ2NlbGxWYWx1ZUNoYW5nZWQnICA6IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCxcbn07XG5cbmNvbnN0IFJPV19FRElUSU5HX0VWRU5UU19NQVAgPSB7XG4gICdyb3dFZGl0aW5nU3RhcnRlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCxcbiAgJ3Jvd0VkaXRpbmdTdG9wcGVkJyAgOiBHV19FVkVOVF9ST1dfRURJVElOR19TVE9QUEVELFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgY2VsbEVkaXRpbmdTdGFydGVkYCAsIGBjZWxsRWRpdGluZ1N0b3BwZWRgIGFuZCBcbiAqIGBjZWxsVmFsdWVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbFZhbHVlQ2hhbmdlZFxuICogXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cuY2VsbEVkaXRpbmdTdG9wcGVkXG4gKiBAZmlyZXMgZ3cuY2VsbFZhbHVlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB7XG5cbiAgY29uc3QgdmFsdWUgPSBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuICBjb25zdCBvbGRWYWx1ZSA9IGd3X2VzY2FwZShlLm9sZFZhbHVlKSB8fCBnd19lc2NhcGUoZS5uZXdWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUudmFsdWUpO1xuXG4gIC8vaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgcmV0dXJuO1xuXG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcbiAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgY29uc3QgY29sSWQgPSBlLmNvbHVtbi5jb2xJZDtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke3R5cGV9YCxcbiAgICAgICAgJ2RldGFpbCc6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICBjb2x1bW46IGNvbElkXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgQ0VMTF9FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0VkaXRpbmdTdGFydGVkYCAsIGByb3dFZGl0aW5nU3RvcHBlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdGFydGVkXG4gKiBAZmlyZXMgZ3cucm93RWRpdGluZ1N0b3BwZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSB7XG4gIGNvbnN0IHBhcnNlZCA9IGd3X3BhcnNlTm9kZUZyb21FdmVudChlKTtcblxuICBpZiAocGFyc2VkKSB7XG4gICAgY29uc3QgdHlwZSA9IGUudHlwZTtcbiAgICBnd19zZW5kRXZlbnQoXG4gICAgICBnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsXG4gICAgICB7XG4gICAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeShwYXJzZWQpXG4gICAgICB9LFxuICAgICAgUk9XX0VESVRJTkdfRVZFTlRTX01BUFt0eXBlXVxuICAgICk7XG4gIH1cbn1cblxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQge1xuXHRnd19vblJvd0RvdWJsZUNsaWNrZWQsXG5cdGd3X29uU2VsZWN0aW9uQ2hhbmdlZCxcblx0Z3dfb25DZWxsQ2xpY2tFdmVudFxufSBmcm9tIFwiLi9zZWxlY3Rpb25zXCI7XG5cbmltcG9ydCB7XG5cdGd3X29uQ2VsbEVkaXRpbmdFdmVudCxcblx0Z3dfb25Sb3dFZGl0aW5nRXZlbnRcbn0gZnJvbSBcIi4vZWRpdGluZ1wiO1xuXG5pbXBvcnQge1xuXHRnd19vblJlYWR5RXZlbnRcbn0gZnJvbSBcIi4vc3RhdGVcIjtcblxuaW1wb3J0IHtcblx0Z3dfZGVib3VuY2Vcbn0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCB7XG5cdGd3X29uUm93RG91YmxlQ2xpY2tlZCxcblx0Z3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vbkNlbGxDbGlja0V2ZW50LFxuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50LFxuXHRnd19vblJlYWR5RXZlbnQsXG5cdGd3X2RlYm91bmNlXG59OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9ST1dfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVAgPSB7XG4gICdjZWxsQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gICdjZWxsRG91YmxlQ2xpY2tlZCc6IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxufTtcblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcm93RG91YmxlQ2xpY2tlZGAgZXZlbnRcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIGJiaiBldmVudCB3aXRoIGBHV19OT0RFYCBhcyBwYXlsb2FkXG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudCdzIHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0RvdWJsZUNsaWNrZWRcbiAqIEBmaXJlcyBndy5yb3dEb3VibGVDbGlja1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25Sb3dEb3VibGVDbGlja2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd0RvdWJsZUNsaWNrJyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc2VsZWN0aW9uQ2hhbmdlZGAgZXZlbnRcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5zZWxlY3Rpb25DaGFuZ2VkXG4gKiBAZmlyZXMgZ3cucm93U2VsZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblNlbGVjdGlvbkNoYW5nZWQoZSkge1xuICBjb25zdCBjb250ZXh0ID0gZS5hcGkuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLmNvbnRleHQ7XG4gIGd3X3NlbmRFdmVudChjb250ZXh0LCB7XG4gICAgJ3R5cGUnOiAnZ3cucm93U2VsZWN0JyxcbiAgICAnZGV0YWlsJzogJydcbiAgfSwgR1dfRVZFTlRfUk9XX0NMSUNLKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBjZWxsQ2xpY2tFdmVudGAgJiBgY2VsbERvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxDbGlja0V2ZW50XG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbERvdWJsZUNsaWNrZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxDbGlja2VkXG4gKiBAZmlyZXMgZ3cuY2VsbERvdWJsZUNsaWNrZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbENsaWNrRXZlbnQoaWQsIGUpIHtcbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBjb25zdCB0eXBlID0gZS50eXBlO1xuICAgIGd3X3NlbmRFdmVudChnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgdmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgb2xkVmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgY29sdW1uOiBlLmNvbHVtbi5jb2xJZFxuICAgICAgfSlcbiAgICB9LCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVBbdHlwZV0pO1xuICB9XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfZGVib3VuY2UgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0Vcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogT24gUmVhZHkgRXZlbnQgXG4gKiBcbiAqIFRoZSBtZXRob2Qgd2lsbCBpZ25vcmUgZmlyc3QgcmVhZHkgZXZlbnQgYW5kIHRoZW4gcmVnaXN0ZXIgYSBkZWJvdW5jZWQgc3RhdGVcbiAqIGNhbGxiYWNrIHRvIHNlbmQgc3RhdGUgZXZlbnRzIHRvIEJCalxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJlYWR5RXZlbnQoaWQsIGUpIHtcblxuICAvLyByZWdpc3RlciBzdGF0ZSBkZWJvdW5jZSBtb25pdG9yIFxuICBjb25zdCBzdGF0ZURlYm91bmNlID0gZ3dfZGVib3VuY2UoY2hhbmdlRXZlbnQgPT4ge1xuXG4gICAgLy8gV2Ugc2tpcCB0aGUgZmlyc3QgcmVuZGVyIHN0YXRlIGNoYW5nZXNcbiAgICAvLyBpZiAoIWd3X2dldEdyaWQoaWQpLmhhc093blByb3BlcnR5KCdpc0ZpcnN0UmVuZGVyJykpIHtcbiAgICAvLyBcdGd3X2dldEdyaWQoaWQpLmlzRmlyc3RSZW5kZXIgPSB0cnVlO1xuICAgIC8vIFx0cmV0dXJuO1xuICAgIC8vIH1cblxuICAgIGd3X29uU3RhdGVDaGFuZ2VkKGlkLCBjaGFuZ2VFdmVudCk7XG4gIH0sIDUwMCk7XG5cbiAgW1xuICAgICdzb3J0Q2hhbmdlZCcsXG4gICAgJ2ZpbHRlckNoYW5nZWQnLFxuICAgICdjb2x1bW5WaXNpYmxlJyxcbiAgICAnY29sdW1uUGlubmVkJyxcbiAgICAnY29sdW1uUmVzaXplZCcsXG4gICAgJ2NvbHVtbk1vdmVkJyxcbiAgICAnbmV3Q29sdW1uc0xvYWRlZCcsXG4gICAgJ2dyaWRDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ2Rpc3BsYXllZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAndmlydHVhbENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnY29sdW1uRXZlcnl0aGluZ0NoYW5nZWQnLFxuICAgIC8vJ2dyaWRTaXplQ2hhbmdlZCcsXG4gICAgJ2V4cGFuZE9yQ29sbGFwc2VBbGwnLFxuICAgIC8vJ3Rvb2xQYW5lbFZpc2libGVDaGFuZ2VkJ1xuICBdLmZvckVhY2goZXZlbnQgPT4ge1xuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHN0YXRlRGVib3VuY2UpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc3RhdGVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc3RhdGVDaGFuZ2VkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnN0YXRlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGUpIHtcbiAgZ3dfc2VuZEV2ZW50KFxuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICB7XG4gICAgICAndHlwZSc6ICdndy5zdGF0ZUNoYW5nZWQnLFxuICAgICAgJ2RldGFpbCc6IFtdXG4gICAgfSxcbiAgICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxuICApO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuXG4vKiogaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvamF2YXNjcmlwdC1kZWJvdW5jZS1mdW5jdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2RlYm91bmNlKGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSkge1xuICB2YXIgdGltZW91dDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xuICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG4gICAgaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBCQmogc2lkZSBcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgdHJpZ2dlciBhIGN1c3RvbSBjbGljayBldmVudCBvbiB0aGUgYGV2ZW50LWJyaWRnZS0ke2lkfWAgZGl2XG4gKiB0aGVuIHRoZSBkaXYgd2lsbCB1c2UgYmFzaXNEaXNwYXRjaEN1c3RvbUV2ZW50IHRvIGRpc3BhdGNoIHRoZSBldmVudCB0byBCQmpcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gY29udGV4dCB0aGUgZ3JpZCdzIGNvbnRleHRcbiAqIEBwYXJhbSB7Kn0gcGF5bG9hZCB0aGUgZXZlbnQgcGF5bG9hZFxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50SWQgdGhlIGV2ZW50J3MgaWQgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZW5kRXZlbnQoY29udGV4dCwgcGF5bG9hZCA9IHt9LCBldmVudElkID0gW10pIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEludGVyZXN0cyA9IGNvbnRleHQuaW50ZXJlc3RzIHx8IFtdO1xuXG4gIGlmIChyZWdpc3RlcmVkSW50ZXJlc3RzLmluY2x1ZGVzKGV2ZW50SWQpKSB7XG4gICAgY29uc3QgZGl2ID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChgZXZlbnQtYnJpZGdlLSR7Y29udGV4dC5pZH1gKTtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2xpY2snKTtcblxuICAgIGV2ZW50LnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIGRpdi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWQgXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5kZXggXG4gKiBAcHJvcGVydHkge251bWJlcn0gcGFyZW50S2V5IFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoaWxkSW5kZXggXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkIFxuICovXG5cbi8qKlxuICogUGFyc2UgYSBub2RlIGFzIEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcGFyYW0ge09iamVjdH0gbm9kZSBhZyBncmlkIG5vZGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0ICBhZyBncmlkIGNvbnRleHRcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd3xCb29sZWFufSBvYmplY3QgZm9ybWF0dGVkIGFzIEJCakdyaWRFeFdpZGdldFJvdy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgaWYgdGhlIG5vZGUgaXMgZm9yIGdyb3VwIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KSB7XG5cbiAgaWYgKHRydWUgPT09IG5vZGUuZ3JvdXApIHJldHVybiBmYWxzZTsgLy8gd2UgZG8gbm90IG1hbmFnZSBncm91cHNcblxuICBjb25zdCByb3dOb2RlSWQgPSBjb250ZXh0Lmhhc093blByb3BlcnR5KCdnZXRSb3dOb2RlSWQnKSAmJiBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdID9cbiAgICBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdIDogJyc7XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogcm93Tm9kZUlkID8gcm93Tm9kZUlkIDogbm9kZS5pZCxcbiAgICBpbmRleDogcm93Tm9kZUlkLFxuICAgIHBhcmVudEtleTogbm9kZS5oYXNPd25Qcm9wZXJ0eSgncGFyZW50JykgJiYgbm9kZS5wYXJlbnQuaGFzT3duUHJvcGVydHkoJ2tleScpID9cbiAgICAgIG5vZGUucGFyZW50LmtleSA6ICcnLFxuICAgIGNoaWxkSW5kZXg6IG5vZGUuY2hpbGRJbmRleCxcbiAgICBzZWxlY3RlZDogQm9vbGVhbihub2RlLnNlbGVjdGVkKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZSBub2RlIGZyb20gZXZlbnQgXG4gKiBcbiAqIFBhcnNlIG5vZGUgaW4gdGhlIHBhU3NlZCBldmVudCBhcyBCQmpHcmlkRXhXaWRnZXRSb3dcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGVcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZUZyb21FdmVudChlKSB7XG4gIHJldHVybiBnd19wYXJzZU5vZGUoZS5ub2RlLCBlLmNvbnRleHQpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/QmFzaXMuQWdHcmlkQ29tcG9uZW50cyFhZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzJztcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MnKTtcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYm9vdHN0cmFwLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzJyk7XG5cbnJlcXVpcmUoJy4vc3R5bGUvY2xhc3Nlcy5jc3MnKTtcblxuZXhwb3J0ICogZnJvbSAnLi9wb2x5ZmlsbHMuanMnO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpXCI7XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvQ3VzdG9tRXZlbnQgICovXG4oZnVuY3Rpb24gKCkge1xuICBpZiAodHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gZmFsc2U7IC8vSWYgbm90IElFXG5cbiAgZnVuY3Rpb24gQ3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7IGJ1YmJsZXM6IGZhbHNlLCBjYW5jZWxhYmxlOiBmYWxzZSwgZGV0YWlsOiB1bmRlZmluZWQgfTtcbiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgZXZ0LmluaXRDdXN0b21FdmVudChldmVudCwgcGFyYW1zLmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlLCBwYXJhbXMuZGV0YWlsKTtcbiAgICByZXR1cm4gZXZ0O1xuICB9XG5cbiAgQ3VzdG9tRXZlbnQucHJvdG90eXBlID0gd2luZG93LkV2ZW50LnByb3RvdHlwZTtcblxuICB3aW5kb3cuQ3VzdG9tRXZlbnQgPSBDdXN0b21FdmVudDtcbn0pKCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9jbGFzc2VzLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0= +======= +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzP2I0MzYiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzcz9jZGMxIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0uY3NzP2I5MzAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzPzA5NTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3M/M2Y1NiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZGFyay5jc3M/OGM0ZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzPzdkMDAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcz8xMWFlIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2Zvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZuL3N0cmluZy9zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LXNwZWNpZXMtY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLWlzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLXJlZ2V4cC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19saWJyYXJ5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpY3QtbWV0aG9kLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1jb250ZXh0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191aWQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZvci1lYWNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5zdGFydHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5hcnJheS5pbmNsdWRlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGVlcC1wYXJzZS1qc29uL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzLWV4cG9zZWQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2pzcy9qc3MuanMtZXhwb3NlZCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanNzL2pzcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19TeW1ib2wuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYXBwbHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYXJyYXlMaWtlS2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hcnJheU1hcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19hc3NpZ25WYWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlQXNzaWduVmFsdWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUdldFRhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlSXNBcmd1bWVudHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUlzTmF0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VJc1R5cGVkQXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZUtleXNJbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlUHJvcGVydHlPZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlUmVzdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlU2V0VG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVRpbWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlVW5hcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVZhbHVlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jb3B5T2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvcmVKc0RhdGEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY3JlYXRlQXNzaWduZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY3VzdG9tRGVmYXVsdHNBc3NpZ25Jbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19kZWZpbmVQcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19lc2NhcGVIdG1sQ2hhci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19lc2NhcGVTdHJpbmdDaGFyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2ZyZWVHbG9iYWwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0TmF0aXZlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2dldFByb3RvdHlwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19nZXRSYXdUYWcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fZ2V0VmFsdWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9faXNJbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc0l0ZXJhdGVlQ2FsbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc01hc2tlZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19pc1Byb3RvdHlwZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19uYXRpdmVLZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX25hdGl2ZUtleXNJbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19ub2RlVXRpbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19vYmplY3RUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19vdmVyQXJnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX292ZXJSZXN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3JlRXNjYXBlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3JlRXZhbHVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fcmVJbnRlcnBvbGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL19yb290LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3NldFRvU3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3Nob3J0T3V0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX3RvU291cmNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvYXNzaWduSW5XaXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvYXR0ZW1wdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2NvbnN0YW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvZXEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9lc2NhcGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pZGVudGl0eS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzQXJndW1lbnRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNBcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzQXJyYXlMaWtlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNCdWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc0Vycm9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNGdW5jdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2lzTGVuZ3RoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc09iamVjdExpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1BsYWluT2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvaXNTeW1ib2wuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9pc1R5cGVkQXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gva2V5c0luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvc3R1YkZhbHNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvdGVtcGxhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC90ZW1wbGF0ZVNldHRpbmdzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvdG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLWdyaWQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJhbGhhbS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWJsdWUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1ib290c3RyYXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1kYXJrLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtZnJlc2guY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1tYXRlcmlhbC5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlL2NsYXNzZXMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi91cmxzLmpzIiwid2VicGFjazovLy8od2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL21vZHVsZS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2NlbGxzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvY29sdW1ucy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2NvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL2luaXQuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9qc3MuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwaS9tZW51cy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL292ZXJsYXlzLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvcm93cy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXBpL3N0YXRlLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvc3RhdHVzYmFyLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvdG9vbHBhbmVsLmpzIiwid2VicGFjazovLy8uL3NyYy9hcGkvdXRpbGl0aWVzLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvY29uc3RhbnRzLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvZWRpdGluZy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvZXZlbnRzL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvc2VsZWN0aW9ucy5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvZXZlbnRzL3N0YXRlLmpzIiwid2VicGFjazovLy8uL3NyYy9ldmVudHMvdXRpbGl0aWVzLmpzIiwid2VicGFjazovLy8uL3NyYy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvcG9seWZpbGxzLmpzIiwid2VicGFjazovLy8uL3NyYy9zdHlsZS9jbGFzc2VzLmNzcz9iNzM4Il0sIm5hbWVzIjpbImRlZXBQYXJzZUpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwidmFsIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsIm9iaiIsImtleSIsIm1vZHVsZSIsImV4cG9ydHMiLCJnd19zdGFydEVkaXRpbmdDZWxsIiwiaWQiLCJyb3ciLCJjb2xLZXkiLCJjaGFyIiwib3B0aW9ucyIsImFwaSIsInNldEZvY3VzZWRDZWxsIiwiTnVtYmVyIiwic3RhcnRFZGl0aW5nQ2VsbCIsInJvd0luZGV4Iiwia2V5UHJlc3MiLCJjaGFyUHJlc3MiLCJnd19zdG9wRWRpdGluZyIsImNhbmNlbCIsInN0b3BFZGl0aW5nIiwiZ3dfZWRpdE5leHRDZWxsIiwidGFiVG9OZXh0Q2VsbCIsImd3X2VkaXRQcmV2aW91c0NlbGwiLCJ0YWJUb1ByZXZpb3VzQ2VsbCIsInJlcXVpcmUiLCJnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyIsImRlZmluaXRpb25zIiwiaSIsImRlZiIsImNoZWNrYm94U2VsZWN0aW9uIiwiZ3dfaXNTaG93U2VsZWN0aW9uQ2hlY2tib3giLCJoZWFkZXJDaGVja2JveFNlbGVjdGlvbiIsImd3X2lzSGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24iLCJnd19zZXRDb2x1bW5EZWZpbml0aW9ucyIsImdyaWQiLCJkZWVwUGFyc2VkRGVmaW5pdGlvbnMiLCJzdHJpbmdpZnkiLCJzZXRDb2x1bW5EZWZzIiwiY29sdW1uRGVmcyIsImd3X3NpemVDb2x1bW5zVG9GaXQiLCJzaXplQ29sdW1uc1RvRml0IiwiZ3dfc2V0VmlzaWJsZUNvbHVtbiIsImNvbHVtbklkIiwiZW5zdXJlQ29sdW1uVmlzaWJsZSIsImd3X3NldENvbHVtbldpZHRoIiwid2lkdGgiLCJjb2x1bW5BcGkiLCJzZXRDb2x1bW5XaWR0aCIsImd3X3BpbkNvbHVtbiIsInBpbiIsInNldENvbHVtblBpbm5lZCIsImd3X21vdmVDb2x1bW4iLCJ0b0luZGV4IiwibW92ZUNvbHVtbiIsInBhcmFtIiwiY29udGV4dCIsInNob3dTZWxlY3Rpb25DaGVja2JveCIsImNvbHVtbnMiLCJnZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucyIsImNvbERlZiIsImZpZWxkIiwiZ3JpZE9wdGlvbnNXcmFwcGVyIiwiZ3JpZE9wdGlvbnMiLCJzaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3giLCJnd19hZGRSb3dHcm91cENvbHVtbiIsInNldCIsInNwbGl0IiwidHJpbSIsImd3X3JlbW92ZVJvd0dyb3VwQ29sdW1uIiwicmVtb3ZlUm93R3JvdXBDb2x1bW5zIiwiZ3dfZ2V0UGl2b3RNb2RlIiwiaXNQaXZvdE1vZGUiLCJnd19zZXRQaXZvdE1vZGUiLCJtb2RlIiwic2V0UGl2b3RNb2RlIiwiZ3dfYWRkUGl2b3RDb2x1bW5zIiwiZ3dfcmVtb3ZlUGl2b3RDb2x1bW5zIiwicmVtb3ZlUGl2b3RDb2x1bW5zIiwiZ3dfYWRkVmFsdWVDb2x1bW5zIiwiYWRkVmFsdWVDb2x1bW5zIiwiZ3dfcmVtb3ZlVmFsdWVDb2x1bW5zIiwicmVtb3ZlVmFsdWVDb2x1bW5zIiwiZ3dfdXBkYXRlQ29udGV4dCIsInZhbHVlIiwidGVtcGxhdGUiLCJnd19pbml0IiwibGljZW5zZSIsImRhdGEiLCJhZ0dyaWQiLCJMaWNlbnNlTWFuYWdlciIsInNldExpY2Vuc2VLZXkiLCJjb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsImlubmVySFRNTCIsInBhcnNlZE9wdGlvbnMiLCJnd19wYXJzZU9wdGlvbnMiLCJyb3dEYXRhIiwiaW5zdGFuY2UiLCJHcmlkIiwiY29uc29sZSIsImxvZyIsImRlZXBQYXJzZWRPcHRpb25zIiwiZ2V0RGF0YVBhdGhUZW1wbGF0ZSIsImdldERhdGFQYXRoIiwiZGVib3VuY2VEdXJhdGlvbiIsImZpbmFsT3B0aW9ucyIsImdldERvY3VtZW50Iiwib25DZWxsRWRpdGluZ1N0YXJ0ZWQiLCJlIiwib25DZWxsRWRpdGluZ1N0b3BwZWQiLCJvbkNlbGxWYWx1ZUNoYW5nZWQiLCJvblJvd0VkaXRpbmdTdGFydGVkIiwib25Sb3dFZGl0aW5nU3RvcHBlZCIsIm9uUm93VmFsdWVDaGFuZ2VkIiwib25DZWxsQ2xpY2tlZCIsIm9uQ2VsbERvdWJsZUNsaWNrZWQiLCJvbkdyaWRSZWFkeSIsImdldFJvd05vZGVJZCIsImd3X2dldFJvd05vZGVJZCIsImdldENvbnRleHRNZW51SXRlbXMiLCJwYXJhbXMiLCJib2R5IiwiZ3dfb25Sb3dEb3VibGVDbGlja2VkIiwiZ3dfb25TZWxlY3Rpb25DaGFuZ2VkIiwiZ3dfb25SYW5nZVNlbGVjdGlvbkNoYW5nZWQiLCJCYXNpcyIsIkFnR3JpZENvbXBvbmVudHMiLCJCYXNpY0Jvb2xlYW5zUmVuZGVyZXIiLCJCYXNpY0Jvb2xlYW5zRWRpdG9yIiwiQmFzaWNCb29sZWFuc0ZpbHRlciIsIkJhc2ljTnVtYmVyc0VkaXRvciIsIkJhc2ljRGF0ZVRpbWVzRWRpdG9yIiwiQmFzaWNEYXRlVGltZXNGaWx0ZXIiLCJCYXNpY0ltYWdlc1JlbmRlcmVyIiwiY29tcGlsZWQiLCJfX1RFTVBMQVRFX18iLCJoYXNPd25Qcm9wZXJ0eSIsIm5hdmlnYXRlVG9OZXh0Q2VsbCIsInRyZWVEYXRhIiwiZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkIiwiZm9ybWF0U2VsZWN0b3IiLCJzZWxlY3RvciIsInN0YXJ0c1dpdGgiLCJnd19zZXRTdHlsZSIsInJ1bGVzIiwianNzIiwiZm9yRG9jdW1lbnQiLCJnd19yZW1vdmVTdHlsZSIsInJlbW92ZSIsImd3X2dldENvbnRleHRNZW51IiwiZ3JpZElkIiwiYnVpbGRDb250ZXh0TWVudUFjdGlvbiIsIm5vZGUiLCJjb2xJZCIsImNvbHVtbiIsInBhcnNlTWVudSIsIm1lbnUiLCJmb3JFYWNoIiwiaXRlbSIsImNvbnRleHRNZW51IiwiZ3dfc2hvd0xvYWRpbmdPdmVybGF5Iiwic2hvd0xvYWRpbmdPdmVybGF5IiwiZ3dfc2hvd05vUm93c092ZXJsYXkiLCJzaG93Tm9Sb3dzT3ZlcmxheSIsImd3X2hpZGVPdmVybGF5IiwiaGlkZU92ZXJsYXkiLCJnd19zZXRRdWlja0ZpbHRlciIsImZpbHRlciIsInNldFF1aWNrRmlsdGVyIiwiZ3dfZXhwYW5kQWxsIiwiZXhwYW5kQWxsIiwiZ3dfY29sbGFwc2VBbGwiLCJjb2xsYXBzZUFsbCIsImd3X3NldFZpc2libGVSb3ciLCJpbmRleCIsInBvc2l0aW9uIiwiZW5zdXJlSW5kZXhWaXNpYmxlIiwiZ3dfbmF2aWdhdGVUb05leHRSb3ciLCJwcmV2aW91c0NlbGwiLCJwcmV2aW91c0NlbGxQb3NpdGlvbiIsInN1Z2dlc3RlZE5leHRDZWxsIiwibmV4dENlbGxQb3NpdGlvbiIsIktFWV9VUCIsIktFWV9ET1dOIiwiS0VZX0xFRlQiLCJLRVlfUklHSFQiLCJmb3JFYWNoTm9kZSIsInNldFNlbGVjdGVkIiwiRXJyb3IiLCJnd19zZXRSb3dzRGF0YSIsImpzb24iLCJzZXRSb3dEYXRhIiwicmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCIsImd3X3NldFJvd0RhdGEiLCJ1cGRhdGVSb3dEYXRhIiwidXBkYXRlIiwiZ3dfcmVtb3ZlUm93cyIsImluZGV4ZXMiLCJpdGVtcyIsInB1c2giLCJnZXRSb3dOb2RlIiwiZ3dfYWRkUm93cyIsInJvd3MiLCJhZGQiLCJhZGRJbmRleCIsImd3X3NldFJvd3NIZWlnaHQiLCJoZWlnaHQiLCJzZXRSb3dIZWlnaHQiLCJvblJvd0hlaWdodENoYW5nZWQiLCJnd19zZXRSb3dIZWlnaHQiLCJnZXREaXNwbGF5ZWRSb3dBdEluZGV4Iiwid2FybiIsImd3X3NldFNlbGVjdGVkUm93cyIsImZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXJBbmRTb3J0IiwiaW5kZXhPZiIsImV4cGFuZGVkIiwib25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQiLCJnd19zZWxlY3RBbGwiLCJmaWx0ZXJlZCIsInNlbGVjdEFsbEZpbHRlcmVkIiwic2VsZWN0QWxsIiwiZ3dfZGVzZWxlY3RBbGwiLCJkZXNlbGVjdEFsbEZpbHRlcmVkIiwiZGVzZWxlY3RBbGwiLCJnd19nZXRTZWxlY3RlZFJvd3MiLCJub2RlcyIsImdldFNlbGVjdGVkTm9kZXMiLCJwYXJzZWQiLCJnd19nZXRTZWxlY3RlZFJvdyIsImxlbmd0aCIsImd3X3NldFN0YXRlIiwic3RhdGUiLCJzZXRDb2x1bW5TdGF0ZSIsInNldENvbHVtbkdyb3VwU3RhdGUiLCJncm91cHMiLCJzZXRTb3J0TW9kZWwiLCJzb3J0Iiwic2V0RmlsdGVyTW9kZWwiLCJmaWx0ZXJzIiwiZ3dfZ2V0U3RhdGUiLCJnZXRDb2x1bW5TdGF0ZSIsImdldENvbHVtbkdyb3VwU3RhdGUiLCJnZXRTb3J0TW9kZWwiLCJnZXRGaWx0ZXJNb2RlbCIsImd3X3NldFN0YXR1c2JhckNvbXBvbmVudFZpc2liaWxpdHkiLCJ2aXNpYmlsaXR5IiwiZ2V0U3RhdHVzUGFuZWwiLCJzZXRWaXNpYmxlIiwiQm9vbGVhbiIsImd3X3NldFNpZGVCYXJWaXNpYmxlIiwic2V0U2lkZUJhclZpc2libGUiLCJnd19vcGVuVG9vbHBhbmVsIiwidG9vbHBhbmVsSWQiLCJvcGVuVG9vbFBhbmVsIiwiZ3dfY2xvc2VUb29scGFuZWwiLCJjbG9zZVRvb2xQYW5lbCIsImd3X3NldEZ1bmN0aW9uc1JlYWRPbmx5IiwicmVhZG9ubHkiLCJzZXRGdW5jdGlvbnNSZWFkT25seSIsImd3X2dldERvY3VtZW50IiwiJGRvYyIsImRvY3VtZW50IiwiZ3dfZ2V0V2luZG93IiwiJHdpbiIsIndpbmRvdyIsImd3X2VzY2FwZSIsInVuZGVmaW5lZCIsImd3X2dldEdyaWQiLCJCQmpHcmlkRXhXaWRnZXQiLCJyZWdpc3RlcmVkR3JpZHMiLCJUeXBlRXJyb3IiLCJnd19hZGRHcmlkIiwiR1dfRVZFTlRfUk9XX0NMSUNLIiwiR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfQ0xJQ0siLCJHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyIsIkdXX0VWRU5UX0NFTExfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQiLCJHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQiLCJHV19FVkVOVF9ST1dfRURJVElOR19TVEFSVEVEIiwiR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCIsIkdXX0VWRU5UX0dSSURfU1RBVEVfQ0hBTkdFIiwiR1dfRVZFTlRfUkFOR0VfU0VMRUNUSU9OX0NIQU5HRUQiLCJDRUxMX0VESVRJTkdfRVZFTlRTX01BUCIsIlJPV19FRElUSU5HX0VWRU5UU19NQVAiLCJnd19vbkNlbGxFZGl0aW5nRXZlbnQiLCJuZXdWYWx1ZSIsIm9sZFZhbHVlIiwidHlwZSIsImd3X29uUm93RWRpdGluZ0V2ZW50IiwiQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQIiwiZ3dfb25DZWxsQ2xpY2tFdmVudCIsImd3X29uUmVhZHlFdmVudCIsInN0YXRlRGVib3VuY2UiLCJjaGFuZ2VFdmVudCIsImd3X29uU3RhdGVDaGFuZ2VkIiwiZXZlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiZ3dfZGVib3VuY2UiLCJmdW5jIiwid2FpdCIsImltbWVkaWF0ZSIsInRpbWVvdXQiLCJhcmdzIiwiYXJndW1lbnRzIiwibGF0ZXIiLCJhcHBseSIsImNhbGxOb3ciLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiZ3dfc2VuZEV2ZW50IiwicGF5bG9hZCIsImV2ZW50SWQiLCJyZWdpc3RlcmVkSW50ZXJlc3RzIiwiaW50ZXJlc3RzIiwiaW5jbHVkZXMiLCJkaXYiLCJDdXN0b21FdmVudCIsImRpc3BhdGNoRXZlbnQiLCJnd19wYXJzZU5vZGUiLCJncm91cCIsInJvd05vZGVJZCIsInBhcmVudEtleSIsInBhcmVudCIsImNoaWxkSW5kZXgiLCJzZWxlY3RlZCIsImd3X3BhcnNlTm9kZUZyb21FdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwiZGV0YWlsIiwiZXZ0IiwiY3JlYXRlRXZlbnQiLCJpbml0Q3VzdG9tRXZlbnQiLCJwcm90b3R5cGUiLCJFdmVudCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7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cUJBQXFCOztBQUV0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSw2RkFBNkY7QUFDcks7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGtGQUFrRixpRkFBaUY7QUFDOUs7QUFDQTtBQUNBOztBQUVBLDBEQUEwRCxtQkFBbUI7QUFDN0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBLGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhGQUE4RixhQUFhO0FBQzNHO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRFQUE0RTtBQUM1RTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RjtBQUM3RjtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0pBQWdKO0FBQ2hKOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0NBQWdDLGVBQWU7QUFDL0M7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxlQUFlO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9ELGVBQWU7QUFDbkU7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxvRUFBb0U7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYyw0QkFBNEI7QUFDMUM7QUFDQTs7QUFFQSwyQkFBMkIsMEJBQTBCO0FBQ3JEO0FBQ0E7O0FBRUEsMENBQTBDLHFGQUFxRjtBQUMvSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsNEJBQTRCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw0Q0FBNEMsS0FBSztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHVHQUF1Rzs7QUFFdkcsNENBQTRDLEtBQUs7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDRDQUE0QyxLQUFLO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSwyQ0FBMkMsS0FBSztBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBCQUEwQixrQkFBa0I7QUFDNUM7QUFDQSxxRUFBcUUsOEdBQThHO0FBQ25MO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGdFQUFnRTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7O0FBRWY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsZUFBZTtBQUNmO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9DQUFvQyxrQkFBa0I7QUFDdEQ7QUFDQTtBQUNBLDZFQUE2RTtBQUM3RTtBQUNBOztBQUVBLHVCQUF1Qiw0QkFBNEI7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0EsYUFBYTs7QUFFYjtBQUNBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0EsNEdBQTRHO0FBQzVHO0FBQ0E7QUFDQTs7QUFFQSxvREFBb0QsT0FBTztBQUMzRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdHQUF3RztBQUN4RztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsaUVBQWlFO0FBQzFHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsdUJBQXVCLHFCQUFxQjtBQUM1QztBQUNBOztBQUVBLG1DQUFtQyxNQUFNO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLHlCQUF5QixrQ0FBa0M7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FO0FBQ0EsbUZBQW1GO0FBQ25GLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBLHVIQUF1SDtBQUN2SDtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhGQUE4RjtBQUM5RjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEVBQUUsaUhBQWlIO0FBQzVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCLDhCQUE4QjtBQUN2RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCLCtCQUErQjtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtB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OztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXVCLGtCQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXVCLGtCQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkM7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQix3QkFBd0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLGtCQUFrQjtBQUM3QztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLGtCQUFrQjtBQUM3QztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Es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RUFBRSxvQ0FBb0Msd0JBQXdCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVBQUUscUNBQXFDLHlCQUF5QixFQUFFLHFDQUFxQyx3QkFBd0IsRUFBRSxxQ0FBcUMseUJBQXlCLEVBQUUscUNBQXFDLHdCQUF3QixFQUFFLHFDQUFxQyx5QkFBeUIsRUFBRSxxQ0FBcUMsd0JBQXdCLEVB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LEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMERBQTBELDBCQUEwQixFQUFFLDBEQUEwRCwyQkFBMkIsRUFBRSwwREFBMEQsMEJBQTBCLEVBQUUsMERBQTBELDJCQUEyQixFQUFFLDBEQUEwRCwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDRCQUE0QixFQUFFLDJEQUEyRCwwQkFBMEIsRUFBRSwyREFBMkQsMkJBQTJCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCw0QkFBNEIsRUFBRSwyREFBMkQsMEJBQTBCLEVBQUUsMkRBQTJELDJCQUEyQixFQUFFLDJEQUEyRCwyQkFBMkIsRUFBRSwyREFBMkQsNEJBQTRCLEVBQUUsMkRBQTJELDBCQUEwQixF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dUMsdUNBQXVDLEVBQUUsOEJBQThCLHNDQUFzQyxzQ0FBc0MsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCx5QkFBeUIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDRCQUE0QixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCw0QkFBNEIsRUFBRSxzREFBc0QsMEJBQTBCLEVBQUUsc0RBQXNELDJCQUEyQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsNEJBQTRCLEVBQUUsc0RBQXNELDBCQUEwQixFQUFFLHNEQUFzRCwyQkFBMkIsRUFBRSxzREFBc0QsMkJBQTJCLEVBQUUsc0RBQXNE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RUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsNEJBQTRCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMkJBQTJCLEVB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QUFFLHdEQUF3RCx5QkFBeUIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFBRSx5REFBeUQsMEJBQTBCLEVBQUUseURBQXlELDJCQUEyQixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSx5REFBeUQsMkJBQTJCLEVBQUUseURBQXlELDBCQUEwQixFQUFFLHlEQUF5RCwyQkFBMkIsRUFB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QUF5QixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCx5QkFBeUIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQseUJBQXlCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLG1EQUFtRCwyQkFBMkIsRUFBRSxtREFBbUQsMEJBQTBCLEVBQUUsbURBQW1ELDJCQUEyQixFQUFFLG1EQUFtRCwwQkFBMEIsRUFBRSxtREFBbUQsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFB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RSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCx5QkFBeUIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELHlCQUF5QixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLG9EQUFvRCwwQkFBMEIsRUFBRSxvREFBb0QsMkJBQTJCLEVBQUUsb0RBQW9ELDBCQUEwQixFQUFFLG9EQUFvRCwyQkFBMkIsRUFBRSxvREFBb0QsMEJBQTBCLEVBQUUsb0RBQW9ELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSxxREFBcUQsMEJBQTBCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsNEJBQTRCLEVBQUUscURBQXFELDBCQUEwQixFQUFFLHFEQUFxRCwyQkFBMkIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDRCQUE0QixFQUFFLHFEQUFxRCwwQkFBMEIsRUFBRSxxREFBcUQsMkJBQTJCLEVBQUUscURBQXFELDJCQUEyQixFQUFFLHFEQUFxRCw0QkFBNEIsRUFBRSx1Q0FBdUMsNEJBQTRCLDZCQUE2QixFQUFFLGdGQUFnRixzQkFBc0IsRUFBRSw4RkFBOEYsa0JBQWtCLEVBQUUsZ0ZBQWdGLHVCQUF1QixFQUFFLDhCQUE4QixtREFBbUQsRUFBRSx1REFBdUQsd0JBQXdCLEVBQUUsc0NBQXNDLHNDQUFzQyxFQUFFLGlKQUFpSixzQ0FBc0MsRUFBRSw2SUFBNkksdUNBQXVDLEVBQUUsdURBQXVELHlCQUF5QixFQUFFLHNDQUFzQyxxQ0FBcUMsRUFBRSxpSkFBaUosc0NBQXNDLEVBQUUsNklBQTZJLHVDQUF1QyxFQUFFLDRDQUE0Qyx5QkFBeUIsRUFBRSwrQ0FBK0MsdUJBQXVCLEVBQUUsaURBQWlELHFCQUFxQixFQUFFLDRDQUE0QyxvQ0FBb0MseUJBQXlCLHdCQUF3Qix5QkFBeUIsOENBQThDLHNDQUFzQyxFQUFFLHNEQUFzRCw2QkFBNkIsZ0RBQWdELHdDQUF3QyxFQUFFLHVVQUF1VSx3QkFBd0IsMEJBQTBCLDRCQUE0QixFQUFFLDhYQUE4WCxrQ0FBa0Msa0NBQWtDLHlDQUF5QyxFQUFFLGlFQUFpRSwwQkFBMEIsNkJBQTZCLDZCQUE2QixFQUFFLHFEQUFxRCx3QkFBd0IsMEJBQTBCLDRCQUE0QixFQUFFLGdFQUFnRSxrQ0FBa0Msa0NBQWtDLHlDQUF5QyxFQUFFLGdDQUFnQyxvQ0FBb0Msb0dBQW9HLDBEQUEwRCxxQkFBcUIsdUJBQXVCLHNCQUFzQixrREFBa0Qsd0NBQXdDLEVBQUUsNkNBQTZDLHNDQUFzQyxFQUFFLDRDQUE0Qyx1Q0FBdUMsRUFBRSxvQ0FBb0MsbUJBQW1CLEVBQUUsNkJBQTZCLDBCQUEwQiw2QkFBNkIsc0JBQXNCLEVBQUUsa0RBQWtELDRCQUE0QixFQUFFLDJDQUEyQywrQkFBK0IsRUFBRSxpQ0FBaUMsZ0NBQWdDLEVBQUUsa0NBQWtDLDhCQUE4QixFQUFFLGdEQUFnRCx1Q0FBdUMsRUFBRSxxRUFBcUUsMkJBQTJCLEVBQUUsaURBQWlELHNDQUFzQyxFQUFFLHNFQUFzRSwwQkFBMEIsRUFBRSxtQ0FBbUMsNkJBQTZCLEVBQUUsc0NBQXNDLHdCQUF3QixFQUFFLDJEQUEyRCx1QkFBdUIsaUJBQWlCLEVBQUUsK0VBQStFLDBCQUEwQiw2QkFBNkIseUJBQXlCLDBCQUEwQixzQkFBc0IsRUFBRSwrSEFBK0gsa0NBQWtDLEVBQUUsMkpBQTJKLDhCQUE4QixFQUFFLGtJQUFrSSwwQkFBMEIsRUFBRSw0Q0FBNEMseUJBQXlCLEVBQUUsMkNBQTJDLHlCQUF5QixFQUFFLDhCQUE4Qix3QkFBd0IseUJBQXlCLDBCQUEwQixvQ0FBb0MseUJBQXlCLDBCQUEwQixFQUFFLGtDQUFrQyxtQkFBbUIsMkJBQTJCLG1CQUFtQixzQkFBc0IsRUFBRSxxRkFBcUYsbUJBQW1CLEVBQUUscUNBQXFDLG1CQUFtQiwyQkFBMkIsbUJBQW1CLEVBQUUsc0NBQXNDLG1CQUFtQixFQUFFLG9nQkFBb2dCLDhCQUE4Qix1QkFBdUIsRUFBRSw0Q0FBNEMsaUJBQWlCLEVBQUUsOEJBQThCLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsaUJBQWlCLEVBQUUsOENBQThDLHdCQUF3QiwyQkFBMkIsd0JBQXdCLG9CQUFvQixFQUFFLHVEQUF1RCwrQkFBK0IsRUFBRSx5REFBeUQscUJBQXFCLEVBQUUscURBQXFELHlCQUF5QixFQUFFLHFEQUFxRCwwQkFBMEIsMkJBQTJCLHdCQUF3QixFQUFFLHlEQUF5RCwwQkFBMEIsRUFBRSxtREFBbUQsb0JBQW9CLEVBQUUsNERBQTRELHFTQUFxUyxFQUFFLDhEQUE4RCxvQkFBb0IsMkJBQTJCLEVBQUUsa0NBQWtDLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsaUNBQWlDLHFCQUFxQix1QkFBdUIsc0JBQXNCLGtEQUFrRCw4QkFBOEIsd0JBQXdCLGdCQUFnQixxQkFBcUIseUNBQXlDLHlDQUF5QyxFQUFFLGdGQUFnRixxQkFBcUIsa0JBQWtCLG1CQUFtQixFQUFFLHVEQUF1RCwwQkFBMEIsbUJBQW1CLEVBQUUsb0NBQW9DLDBCQUEwQix1QkFBdUIsa0JBQWtCLDJCQUEyQiwyQkFBMkIsb0JBQW9CLEVBQUUsOENBQThDLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLDZDQUE2QyxxQkFBcUIsNEJBQTRCLDJCQUEyQiwyQkFBMkIsa0NBQWtDLG1DQUFtQyxvQ0FBb0MsaUNBQWlDLGtDQUFrQyx3Q0FBd0MsRUFBRSxrQ0FBa0MscUJBQXFCLEVBQUUsa0RBQWtELHlCQUF5QixzQkFBc0IsRUFBRSw2RUFBNkUseUJBQXlCLEVBQUUsNEVBQTRFLDRCQUE0QixFQUFFLHFHQUFxRyxtQ0FBbUMsRUFBRSw4RkFBOEYseUJBQXlCLEVBQUUsZ0RBQWdELG9CQUFvQixFQUFFLGtEQUFrRCx1QkFBdUIsd0JBQXdCLEVBQUUsa0RBQWtELGtCQUFrQixFQUFFLHNEQUFzRCwwQkFBMEIsa0JBQWtCLG1CQUFtQiwwQkFBMEIsRUFBRSx5R0FBeUcsd0JBQXdCLEVBQUUsb0RBQW9ELG9CQUFvQixFQUFFLG9EQUFvRCxtQkFBbUIsMkJBQTJCLDJCQUEyQixvQkFBb0IsZ0NBQWdDLGlDQUFpQyxrQ0FBa0MsRUFBRSxtSEFBbUgseUJBQXlCLDZCQUE2Qiw2QkFBNkIsc0JBQXNCLEVBQUUseUVBQXlFLHdDQUF3QyxFQUFFLHVEQUF1RCwyQkFBMkIsMkJBQTJCLG9CQUFvQiw0QkFBNEIsNkJBQTZCLHdDQUF3QyxtQkFBbUIsdUJBQXVCLEVBQUUsZ0VBQWdFLHlCQUF5QixFQUFFLHlFQUF5RSx5QkFBeUIsRUFBRSx5SkFBeUosbUJBQW1CLEVBQUUsK25CQUErbkIseUJBQXlCLDBCQUEwQixFQUFFLHlFQUF5RSxxQ0FBcUMsdUJBQXVCLEVBQUUsaUZBQWlGLHdCQUF3QixFQUFFLHdHQUF3Ryx3QkFBd0IsRUFBRSxtREFBbUQscUNBQXFDLG1CQUFtQixnQ0FBZ0MsaUNBQWlDLGtDQUFrQyxFQUFFLDJEQUEyRCx3QkFBd0Isc0JBQXNCLEVBQUUscUVBQXFFLHlCQUF5QiwwQkFBMEIsRUFBRSw0Q0FBNEMsc0JBQXNCLEVBQUUsK0RBQStELG9CQUFvQixFQUFFLCtGQUErRix5QkFBeUIsMkJBQTJCLDhCQUE4Qiw2QkFBNkIsNkJBQTZCLHVDQUF1Qyx3Q0FBd0MseUNBQXlDLHlDQUF5QyxnQ0FBZ0MsZ0NBQWdDLCtCQUErQiwrQkFBK0Isd0JBQXdCLHVDQUF1Qyx1Q0FBdUMsRUFBRSw2SEFBNkgsNkJBQTZCLEVBQUUscUlBQXFJLDZCQUE2QixFQUFFLHlGQUF5RiwyQkFBMkIsRUFBRSxnRkFBZ0YscUNBQXFDLHlCQUF5QiwwQkFBMEIseUJBQXlCLEVBQUUsbUVBQW1FLHFCQUFxQiw2QkFBNkIsNkJBQTZCLHNCQUFzQiw0QkFBNEIsMkJBQTJCLDJCQUEyQixFQUFFLDJGQUEyRiwrQkFBK0IsK0JBQStCLHdCQUF3QixvQ0FBb0MscUNBQXFDLHNDQUFzQywyQkFBMkIsRUFBRSxzRUFBc0UsMENBQTBDLDRCQUE0Qix1QkFBdUIsRUFBRSw4REFBOEQsMENBQTBDLHVCQUF1Qiw0QkFBNEIsRUFBRSw4RkFBOEYsb0NBQW9DLDJCQUEyQiwwQkFBMEIsc0RBQXNELDZCQUE2Qiw2QkFBNkIsMEJBQTBCLEVBQUUscUZBQXFGLDBCQUEwQiwwQkFBMEIsRUFBRSxxRkFBcUYsNEJBQTRCLDZCQUE2QixFQUFFLDJFQUEyRSwyQkFBMkIsRUFBRSw4RUFBOEUscUJBQXFCLHdCQUF3QixFQUFFLHNDQUFzQyxxQ0FBcUMscUJBQXFCLG1CQUFtQixzQkFBc0IsRUFBRSwrQ0FBK0MsMEJBQTBCLEVBQUUsNERBQTRELGtCQUFrQixtQkFBbUIsc0JBQXNCLEVBQUUsMEVBQTBFLGtDQUFrQyxxQkFBcUIsRUFBRSxxRUFBcUUsb0JBQW9CLHFCQUFxQixtQkFBbUIsRUFBRSx3REFBd0Qsb0JBQW9CLEVBQUUsc0NBQXNDLGdDQUFnQyxFQUFFLHNMQUFzTCxvQ0FBb0MsRUFBRSw0TkFBNE4sZ0NBQWdDLEVBQUUsZ09BQWdPLGtDQUFrQyxFQUFFLGtPQUFrTyxtQ0FBbUMsRUFBRSw4TkFBOE4saUNBQWlDLEVBQUUsaUVBQWlFLGlEQUFpRCxFQUFFLHVGQUF1RixtREFBbUQsRUFBRSxvSEFBb0gsbURBQW1ELEVBQUUsbUVBQW1FLGlEQUFpRCxFQUFFLG1FQUFtRSw4Q0FBOEMsRUFBRSxtRUFBbUUsOENBQThDLEVBQUUsbUVBQW1FLDJDQUEyQyxFQUFFLG9HQUFvRyxtQ0FBbUMsRUFBRSxvS0FBb0ssdUNBQXVDLEVBQUUsd0dBQXdHLHFDQUFxQyxFQUFFLHdLQUF3Syx5Q0FBeUMsRUFBRSwwR0FBMEcsc0NBQXNDLEVBQUUsMEtBQTBLLDBDQUEwQyxFQUFFLHNHQUFzRyxvQ0FBb0MsRUFBRSxzS0FBc0ssd0NBQXdDLEVBQUUsdUVBQXVFLHlCQUF5QixpQkFBaUIsa0JBQWtCLG1CQUFtQixrQkFBa0IsOEJBQThCLEVBQUUscUNBQXFDLG1CQUFtQixFQUFFLHNDQUFzQywwQkFBMEIsRUFBRSw2Q0FBNkMsb0JBQW9CLG1CQUFtQixFQUFFLCtFQUErRSwwQkFBMEIsdUJBQXVCLCtCQUErQiwrQkFBK0IsbUJBQW1CLEVBQUUsc0NBQXNDLGlCQUFpQixFQUFFLG9FQUFvRSxxQkFBcUIsc0JBQXNCLEVBQUUsMERBQTBELG1CQUFtQixzQkFBc0IsRUFBRSwyREFBMkQsNEJBQTRCLG1CQUFtQixFQUFFLDJEQUEyRCxzQkFBc0IsbUJBQW1CLEVBQUUsbUVBQW1FLCtCQUErQixFQUFFLHlEQUF5RCx5QkFBeUIsRUFBRSxrRUFBa0UsZ0NBQWdDLEVBQUUsd0RBQXdELHdCQUF3QixFQUFFLHVEQUF1RCwrQkFBK0IsK0JBQStCLCtCQUErQiw4QkFBOEIsZ0JBQWdCLG1CQUFtQixpQkFBaUIsa0JBQWtCLEVBQUUsb3JCQUFvckIsd0JBQXdCLEVBQUUsMFRBQTBULHdCQUF3QixFQUFFLDJDQUEyQyx1QkFBdUIsRUFBRSxpREFBaUQseUJBQXlCLEVBQUUsZ0RBQWdELGdDQUFnQyxtQkFBbUIseUJBQXlCLEVBQUUsaUlBQWlJLDJCQUEyQixFQUFFLGtJQUFrSSxzQkFBc0IsbUJBQW1CLEVBQUUsZ0ZBQWdGLHFCQUFxQixFQUFFLDBDQUEwQywwQkFBMEIsMEJBQTBCLHVCQUF1QixxQkFBcUIsRUFBRSxzRUFBc0Usc0JBQXNCLEVBQUUsd0VBQXdFLHdCQUF3QixzQkFBc0IsbUJBQW1CLEVBQUUsZ0ZBQWdGLHFCQUFxQixFQUFFLDREQUE0RCx5QkFBeUIsRUFBRSxtRUFBbUUsc0JBQXNCLEVBQUUsK0NBQStDLDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsd0JBQXdCLG1CQUFtQixpQkFBaUIsRUFBRSx1RUFBdUUsd0JBQXdCLDBCQUEwQiwwQkFBMEIsRUFBRSw2RUFBNkUsa0NBQWtDLEVBQUUsNEZBQTRGLGtCQUFrQixFQUFFLHFFQUFxRSx1QkFBdUIsb0JBQW9CLEVBQUUsMkNBQTJDLHdDQUF3QyxFQUFFLHFEQUFxRCxvQ0FBb0MsOENBQThDLHNDQUFzQyxFQUFFLGtDQUFrQyxnQ0FBZ0MsRUFBRSxtQ0FBbUMseUJBQXlCLHVCQUF1QixFQUFFLHNEQUFzRCxxQ0FBcUMscUNBQXFDLDJDQUEyQywyQ0FBMkMsb0RBQW9ELG9EQUFvRCxrREFBa0Qsa0RBQWtELEVBQUUsNkJBQTZCLFVBQVUsc0NBQXNDLHNDQUFzQyxFQUFFLFFBQVEsd0NBQXdDLHdDQUF3QyxFQUFFLEVBQUUscUJBQXFCLFVBQVUsc0NBQXNDLHNDQUFzQyxFQUFFLFFBQVEsd0NBQXdDLHdDQUF3QyxFQUFFLEVBQUUsc0RBQXNELHlCQUF5Qix3QkFBd0IsRUFBRSxzQ0FBc0Msd0NBQXdDLEVBQUUseUNBQXlDLHFDQUFxQyxFQUFFLDJFQUEyRSxnQ0FBZ0MsRUFBRSw2RkFBNkYsa0NBQWtDLEVBQUUsb0NBQW9DLHdCQUF3QixpQ0FBaUMsMEJBQTBCLGdDQUFnQyx1QkFBdUIsc0JBQXNCLGtEQUFrRCwwQkFBMEIseUJBQXlCLHVCQUF1QixFQUFFLDBDQUEwQyxtQkFBbUIsRUFBRSwyQ0FBMkMseUJBQXlCLEVBQUUsb0NBQW9DLHVCQUF1Qix3QkFBd0IsdUJBQXVCLDBCQUEwQixFQUFFLHFDQUFxQyxvQkFBb0IsRUFBRSxpREFBaUQsaURBQWlELEVBQUUsZ0RBQWdELDBCQUEwQix1QkFBdUIsK0JBQStCLCtCQUErQixtQkFBbUIsRUFBRSxrQ0FBa0MsZ0NBQWdDLGlDQUFpQywyQkFBMkIseUJBQXlCLEVBQUUscURBQXFELDBCQUEwQiwwQkFBMEIsb0JBQW9CLDJCQUEyQixFQUFFLDhFQUE4RSxrQ0FBa0Msb0JBQW9CLHVCQUF1QiwrQkFBK0Isc0JBQXNCLG9CQUFvQiwyQkFBMkIsb0NBQW9DLDhCQUE4QixvQ0FBb0Msd0NBQXdDLHdDQUF3Qyx1Q0FBdUMsRUFBRSwyRUFBMkUsb0NBQW9DLDRCQUE0Qiw0QkFBNEIsaUNBQWlDLEVBQUUsd0RBQXdELHlDQUF5QyxFQUFFLG1FQUFtRSx3QkFBd0IsRUFBRSxvREFBb0QseUJBQXlCLEVBQUUscURBQXFELHVCQUF1Qix3QkFBd0IsRUFBRSx5Q0FBeUMsdUJBQXVCLHdCQUF3QixpREFBaUQsNEJBQTRCLHlCQUF5QixFQUFFLHFFQUFxRSxnQ0FBZ0MseUJBQXlCLHVCQUF1Qix3QkFBd0IseUJBQXlCLGtDQUFrQyxFQUFFLDBEQUEwRCx3QkFBd0IsRUFBRSxvQ0FBb0MsMERBQTBELDBEQUEwRCxFQUFFLGdDQUFnQyw4QkFBOEIsaUNBQWlDLEVBQUUsaUhBQWlILHFCQUFxQiw2QkFBNkIsRUFBRSx1REFBdUQsc0NBQXNDLHVCQUF1QixxQkFBcUIsd0JBQXdCLHlCQUF5QixvREFBb0QsMkJBQTJCLDBCQUEwQixFQUFFLHdHQUF3Ryx1QkFBdUIsc0JBQXNCLDZCQUE2QixFQUFFLG1IQUFtSCw4QkFBOEIsNEJBQTRCLEVBQUUsNk5BQTZOLCtDQUErQyxFQUFFLDJIQUEySCw4QkFBOEIsRUFBRSw2RUFBNkUscUJBQXFCLHNDQUFzQyxxQkFBcUIsRUFBRSxzRkFBc0YsMkJBQTJCLEVBQUUsaUNBQWlDLGdDQUFnQyxtQkFBbUIseUJBQXlCLG1CQUFtQix3QkFBd0IsMEJBQTBCLDRCQUE0QixxQ0FBcUMsNkJBQTZCLEVBQUUscURBQXFELG1CQUFtQixFQUFFLDhDQUE4Qyx3QkFBd0IsRUFBRSw2REFBNkQsa0NBQWtDLEVBQUUsb0dBQW9HLGlDQUFpQyxFQUFFLGtIQUFrSCw0QkFBNEIsRUFBRSxpSUFBaUksbUJBQW1CLHNCQUFzQixFQUFFLCtJQUErSSxxQkFBcUIsRUFBRSw4QkFBOEIsMkhBQTJILGtCQUFrQixzQkFBc0Isa0JBQWtCLHlCQUF5QiwwQkFBMEIsMkJBQTJCLDJCQUEyQix1RkFBdUYseUNBQXlDLEVBQUUsaURBQWlELDBCQUEwQixFQUFFLDRDQUE0QywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsNENBQTRDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSxtSkFBbUosNkJBQTZCLHdCQUF3Qix5QkFBeUIsRUFBRSxvTEFBb0wsd0JBQXdCLHFCQUFxQixFQUFFLCtDQUErQyxtQkFBbUIsRUFBRSxtSEFBbUgsNEJBQTRCLEVBQUUsNkhBQTZILDBCQUEwQixFQUFFLHFIQUFxSCwwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSx5RUFBeUUsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSx5Q0FBeUMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSw4Q0FBOEMsMEJBQTBCLEVBQUUsK0NBQStDLDBCQUEwQixFQUFFLHlDQUF5QywwQkFBMEIsRUFBRSw0Q0FBNEMsMEJBQTBCLEVBQUUsMkNBQTJDLDBCQUEwQixFQUFFLG9GQUFvRiwwQkFBMEIsRUFBRSwyQ0FBMkMsMEJBQTBCLEVBQUUsbURBQW1ELDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSxrRkFBa0YsMEJBQTBCLEVBQUUsNkNBQTZDLDBCQUEwQixFQUFFLDhDQUE4QywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsMENBQTBDLDBCQUEwQixFQUFFLGlEQUFpRCwwQkFBMEIsRUFBRSwyQ0FBMkMsMEJBQTBCLEVBQUUseUNBQXlDLDBCQUEwQixFQUFFLDJDQUEyQywwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLHNEQUFzRCwwQkFBMEIsRUFBRSw4Q0FBOEMsbUJBQW1CLEVBQUUsdURBQXVELDRCQUE0QixFQUFFLG1GQUFtRiwwQkFBMEIsRUFBRSwwQ0FBMEMsMEJBQTBCLEVBQUUsZ0RBQWdELDBCQUEwQixFQUFFLGdEQUFnRCwwQkFBMEIsRUFBRSxpREFBaUQsMEJBQTBCLEVBQUUsOENBQThDLDBCQUEwQixFQUFFLDBDQUEwQywwQkFBMEIsRUFBRSxpREFBaUQsMEJBQTBCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLCtDQUErQywwQkFBMEIsRUFBRSw2QkFBNkIsd0JBQXdCLEVBQUUsZ0RBQWdELHlCQUF5QixFQUFFLGtHQUFrRywwQkFBMEIsdUJBQXVCLEVBQUUsaUdBQWlHLDBCQUEwQixFQUFFLG9HQUFvRywwQkFBMEIsNEJBQTRCLEVBQUUsNmJBQTZiLHlCQUF5QiwwQkFBMEIsRUFBRSxrSEFBa0gsdUJBQXVCLDJCQUEyQixFQUFFLHFEQUFxRCwwQkFBMEIsd0JBQXdCLEVBQUUsMk1BQTJNLG9DQUFvQyxvQ0FBb0MsNkJBQTZCLEVBQUUsMG9CQUEwb0IsNkJBQTZCLCtCQUErQixFQUFFLHVTQUF1Uyw2QkFBNkIsK0JBQStCLEVBQUUscURBQXFELDJCQUEyQiwwQkFBMEIsRUFBRSwwREFBMEQsNEJBQTRCLEVBQUUscUpBQXFKLDRCQUE0QiwwQkFBMEIsRUFBRSwwREFBMEQsMkJBQTJCLEVBQUUsNkdBQTZHLHVCQUF1QiwwQkFBMEIsRUFBRSx3RUFBd0Usd0NBQXdDLHdCQUF3QixFQUFFLGdFQUFnRSx3Q0FBd0Msd0JBQXdCLEVBQUUsMkVBQTJFLHVCQUF1QixFQUFFLDRDQUE0QyxpQkFBaUIsOFVBQThVLEVBQUUsb0JBQW9CLEVBQUUsb0NBQW9DLGdDQUFnQyxFQUFFLCtCQUErQixtQkFBbUIsRUFBRSwrREFBK0QsaUNBQWlDLHVCQUF1QixFQUFFLDBFQUEwRSxxQkFBcUIsRUFBRSxtREFBbUQsbUJBQW1CLG9CQUFvQixFQUFFLHFDQUFxQyx1Q0FBdUMsRUFBRSwyQ0FBMkMsdUNBQXVDLEVBQUUsOEJBQThCLGlDQUFpQyxFQUFFLDRDQUE0Qyx1Q0FBdUMsRUFBRSxnREFBZ0Qsc0JBQXNCLEVBQUUsdURBQXVELHFDQUFxQyw4QkFBOEIsK0JBQStCLDBDQUEwQyxFQUFFLCtFQUErRSxpQ0FBaUMsRUFBRSxxREFBcUQsZ0NBQWdDLEVBQUUsOENBQThDLHdCQUF3QixFQUFFLDBDQUEwQywwQkFBMEIsb0dBQW9HLDBEQUEwRCxpQ0FBaUMsdUJBQXVCLHVCQUF1QixFQUFFLHdFQUF3RSwyQkFBMkIsd0JBQXdCLEVBQUUsOEVBQThFLG1DQUFtQyxFQUFFLHdDQUF3QyxpREFBaUQseUNBQXlDLEVBQUUsa0RBQWtELGlDQUFpQyx5QkFBeUIsRUFBRSw2Q0FBNkMsbUJBQW1CLGlCQUFpQixFQUFFLHlKQUF5SixtQkFBbUIsRUFBRSw0REFBNEQsbUJBQW1CLEVBQUUsNkJBQTZCLGtDQUFrQyxrQ0FBa0MsRUFBRSxpREFBaUQseUJBQXlCLGFBQWEsRUFBRSwyQ0FBMkMsd0NBQXdDLEVBQUUsa0VBQWtFLG1CQUFtQixFQUFFLDRDQUE0QyxnQ0FBZ0MsRUFBRSxpREFBaUQsaURBQWlELEVBQUUsZ0RBQWdELDZCQUE2QixpQ0FBaUMsMEJBQTBCLG1CQUFtQixvQkFBb0IsRUFBRSw0Q0FBNEMsbUJBQW1CLEVBQUUsSzs7Ozs7Ozs7Ozs7QUNBLzB0RSxxQ0FBcUMsY0FBYyxvQ0FBb0MsMkNBQTJDLGNBQWMsNDZPQUE0Nk8sd0JBQXdCLHVCQUF1QixFQUFFLHdCQUF3Qix3Q0FBd0MsMkJBQTJCLCtCQUErQix3Q0FBd0MscUJBQXFCLG9CQUFvQixtQkFBbUIsRUFBRSwrREFBK0QsdUNBQXVDLEVBQUUsOEJBQThCLHVCQUF1QixFQUFFLDBCQUEwQixxQ0FBcUMscUNBQXFDLEVBQUUsK0ZBQStGLHNCQUFzQix1Q0FBdUMsdUNBQXVDLEVBQUUsZ0NBQWdDLHNDQUFzQyxzQ0FBc0MsRUFBRSx1REFBdUQseUJBQXlCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCx5QkFBeUIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELHlCQUF5QixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQseUJBQXlCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCx5QkFBeUIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx1REFBdUQsMEJBQTBCLEVBQUUsdURBQXVELDJCQUEyQixFQUFFLHVEQUF1RCwwQkFBMEIsRUFBRSx1REFBdUQsMkJBQTJCLEVBQUUsdURBQXVELDBCQUEwQixFQUFFLHVEQUF1RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwwQkFBMEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMEJBQTBCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDBCQUEwQixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFBRSx3REFBd0QsMkJBQTJCLEVBQUUsd0RBQXdELDRCQUE0QixFQUFFLHdEQUF3RCwyQkFBMkIsRUFBRSx3REFBd0QsNEJBQTRCLEVBQUUsd0RBQXdELDJCQUEyQixFQUFFLHdEQUF3RCw0QkFBNEIsRUFB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O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVE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QVY7QUFDQUQsT0FBRyxDQUFDRSxlQUFKLENBQW9CcEMsS0FBcEIsRUFBMkJoTCxNQUFNLENBQUMrTSxPQUFsQyxFQUEyQy9NLE1BQU0sQ0FBQ2dOLFVBQWxELEVBQThEaE4sTUFBTSxDQUFDaU4sTUFBckU7QUFDQSxXQUFPQyxHQUFQO0FBQ0Q7O0FBRURiLGFBQVcsQ0FBQ2dCLFNBQVosR0FBd0JyRSxNQUFNLENBQUNzRSxLQUFQLENBQWFELFNBQXJDO0FBRUFyRSxRQUFNLENBQUNxRCxXQUFQLEdBQXFCQSxXQUFyQjtBQUNELENBYkQsSTs7Ozs7Ozs7Ozs7O0FDUkEsY0FBYyxtQkFBTyxDQUFDLGlOQUErRzs7QUFFckksNENBQTRDLFFBQVM7O0FBRXJEO0FBQ0E7Ozs7QUFJQSxlQUFlOztBQUVmO0FBQ0Esa0NBQWtDOztBQUVsQyxhQUFhLG1CQUFPLENBQUMsc0dBQW1EOztBQUV4RTs7QUFFQSxHQUFHLEtBQVUsRUFBRSxFIiwiZmlsZSI6ImJiai1ncmlkLXdpZGdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctZ3JpZC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0tZGFyay5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1iYWxoYW0uY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJhbGhhbS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmFsaGFtLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYmx1ZS5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWJvb3RzdHJhcC5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtYm9vdHN0cmFwLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1ib290c3RyYXAuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1kYXJrLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtZnJlc2guY3NzXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkIH07XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLWZyZXNoLmNzc1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1mcmVzaC5jc3NcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuL2FnLXRoZW1lLW1hdGVyaWFsLmNzc1wiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZCB9O1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9hZy10aGVtZS1tYXRlcmlhbC5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi4vLi4vLi4vcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vYWctdGhlbWUtbWF0ZXJpYWwuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJCYXNpc1wiXSA9IHJvb3RbXCJCYXNpc1wiXSB8fCB7fSwgcm9vdFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuLyoqKioqKi8gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbi8qKioqKiovIFx0XHRcdGk6IG1vZHVsZUlkLFxuLyoqKioqKi8gXHRcdFx0bDogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRleHBvcnRzOiB7fVxuLyoqKioqKi8gXHRcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4vKioqKioqLyBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuLyoqKioqKi8gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbi8qKioqKiovIFx0fVxuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMjQpO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUGFyYW1zOyB9KTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBQYXJhbXMgTWl4aW5zIFxuKlxuKiBIZWxwZXIgbWV0aG9kcyB0byBtYW5hZ2UgY29tcG9uZW50cyBwYXJhbXNcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgUGFyYW1zID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gUGFyYW1zKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBQYXJhbXMpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFBhcmFtcywgW3tcbiAgICBrZXk6IFwiZ2V0V2luXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFdpbihwYXJhbXMpIHtcbiAgICAgIHZhciB3aW4gPSBwYXJhbXMuV0lORE9XIHx8IHdpbmRvdyB8fCBudWxsO1xuICAgICAgaWYgKCF3aW4pIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgd2luZG93Jyk7XG4gICAgICByZXR1cm4gd2luO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXREb2NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RG9jKHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHBhcmFtcy5ET0NVTUVOVCB8fCBkb2N1bWVudCB8fCBudWxsO1xuICAgICAgaWYgKCFkb2MpIHRocm93IG5ldyBFcnJvcignQ3VycmVudCBlbnZpcm9tZW50IGRvZXMgbm90IHN1cHBvcnQgZG9jdW1lbnQnKTtcbiAgICAgIHJldHVybiBkb2M7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldE9wdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRPcHRpb24obmFtZSwgcGFyYW1zKSB7XG4gICAgICB2YXIgZmFsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XG4gICAgICB2YXIgb3B0aW9uOyAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29sdW1uIGRlZiBmaXJzdFxuXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCdjb2xEZWYnKSAmJiBwYXJhbXMuY29sRGVmLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIG9wdGlvbiA9IHBhcmFtcy5jb2xEZWZbbmFtZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnfG1ldGEgaW4gdGhlIGNvbnRleHRcbiAgICAgICAgdmFyIEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgPSBwYXJhbXMuY29udGV4dC5BR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnIHx8IHBhcmFtcy5jb250ZXh0Lm1ldGE7XG5cbiAgICAgICAgaWYgKEFHcmlkQ29tcG9uZW50c01ldGFDb25maWcgJiYgQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZy5oYXNPd25Qcm9wZXJ0eShwYXJhbXMuY29sdW1uLmNvbElkKSAmJiBBR3JpZENvbXBvbmVudHNNZXRhQ29uZmlnW3BhcmFtcy5jb2x1bW4uY29sSWRdLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgb3B0aW9uID0gQUdyaWRDb21wb25lbnRzTWV0YUNvbmZpZ1twYXJhbXMuY29sdW1uLmNvbElkXVtuYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB0cnkgdG8gZmV0Y2ggZnJvbSB0aGUgY29udGVjdCBvYmplY3QgaXRzZWxmXG4gICAgICAgICAgdmFyIGNvbnRleHQgPSBwYXJhbXMuY29udGV4dDtcblxuICAgICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgIG9wdGlvbiA9IGNvbnRleHRbbmFtZV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRyeSB0byBjaGVjayBwYXJhbXMgaXRzZWxmIG9yIGZhbGxiYWNrIHRvIGRlZmF1bHQgXG4gICAgICAgICAgICBvcHRpb24gPSBwYXJhbXNbbmFtZV0gfHwgZmFsbGJhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBhcmFtcztcbn0oKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vKlxuXHRNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24odXNlU291cmNlTWFwKSB7XG5cdHZhciBsaXN0ID0gW107XG5cblx0Ly8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXHRsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG5cdFx0XHR2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcblx0XHRcdGlmKGl0ZW1bMl0pIHtcblx0XHRcdFx0cmV0dXJuIFwiQG1lZGlhIFwiICsgaXRlbVsyXSArIFwie1wiICsgY29udGVudCArIFwifVwiO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fSkuam9pbihcIlwiKTtcblx0fTtcblxuXHQvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXHRsaXN0LmkgPSBmdW5jdGlvbihtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG5cdFx0aWYodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpXG5cdFx0XHRtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG5cdFx0dmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGlkID0gdGhpc1tpXVswXTtcblx0XHRcdGlmKHR5cGVvZiBpZCA9PT0gXCJudW1iZXJcIilcblx0XHRcdFx0YWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuXHRcdH1cblx0XHRmb3IoaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IG1vZHVsZXNbaV07XG5cdFx0XHQvLyBza2lwIGFscmVhZHkgaW1wb3J0ZWQgbW9kdWxlXG5cdFx0XHQvLyB0aGlzIGltcGxlbWVudGF0aW9uIGlzIG5vdCAxMDAlIHBlcmZlY3QgZm9yIHdlaXJkIG1lZGlhIHF1ZXJ5IGNvbWJpbmF0aW9uc1xuXHRcdFx0Ly8gIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cblx0XHRcdC8vICBJIGhvcGUgdGhpcyB3aWxsIG5ldmVyIG9jY3VyIChIZXkgdGhpcyB3YXkgd2UgaGF2ZSBzbWFsbGVyIGJ1bmRsZXMpXG5cdFx0XHRpZih0eXBlb2YgaXRlbVswXSAhPT0gXCJudW1iZXJcIiB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuXHRcdFx0XHRpZihtZWRpYVF1ZXJ5ICYmICFpdGVtWzJdKSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IG1lZGlhUXVlcnk7XG5cdFx0XHRcdH0gZWxzZSBpZihtZWRpYVF1ZXJ5KSB7XG5cdFx0XHRcdFx0aXRlbVsyXSA9IFwiKFwiICsgaXRlbVsyXSArIFwiKSBhbmQgKFwiICsgbWVkaWFRdWVyeSArIFwiKVwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpc3QucHVzaChpdGVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHJldHVybiBsaXN0O1xufTtcblxuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcblx0dmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnO1xuXHR2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cdGlmICghY3NzTWFwcGluZykge1xuXHRcdHJldHVybiBjb250ZW50O1xuXHR9XG5cblx0aWYgKHVzZVNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHZhciBzb3VyY2VNYXBwaW5nID0gdG9Db21tZW50KGNzc01hcHBpbmcpO1xuXHRcdHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG5cdFx0XHRyZXR1cm4gJy8qIyBzb3VyY2VVUkw9JyArIGNzc01hcHBpbmcuc291cmNlUm9vdCArIHNvdXJjZSArICcgKi8nXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKCdcXG4nKTtcblx0fVxuXG5cdHJldHVybiBbY29udGVudF0uam9pbignXFxuJyk7XG59XG5cbi8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcbmZ1bmN0aW9uIHRvQ29tbWVudChzb3VyY2VNYXApIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xuXHR2YXIgZGF0YSA9ICdzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwnICsgYmFzZTY0O1xuXG5cdHJldHVybiAnLyojICcgKyBkYXRhICsgJyAqLyc7XG59XG5cblxuLyoqKi8gfSksXG4vKiAyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7XG59O1xuXG52YXIgZ2V0RWxlbWVudCA9IChmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW8gPSB7fTtcblxuXHRyZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFzc2luZyBmdW5jdGlvbiBpbiBvcHRpb25zLCB0aGVuIHVzZSBpdCBmb3IgcmVzb2x2ZSBcImhlYWRcIiBlbGVtZW50LlxuICAgICAgICAgICAgICAgIC8vIFVzZWZ1bCBmb3IgU2hhZG93IFJvb3Qgc3R5bGUgaS5lXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgaW5zZXJ0SW50bzogZnVuY3Rpb24gKCkgeyByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNmb29cIikuc2hhZG93Um9vdCB9XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0XHR2YXIgc3R5bGVUYXJnZXQgPSBnZXRUYXJnZXQuY2FsbCh0aGlzLCB0YXJnZXQpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuXHRcdFx0XHRcdC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcblx0XHRcdFx0fSBjYXRjaChlKSB7XG5cdFx0XHRcdFx0c3R5bGVUYXJnZXQgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcblx0XHR9XG5cdFx0cmV0dXJuIG1lbW9bdGFyZ2V0XVxuXHR9O1xufSkoKTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcbiAgICAgICAgaWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cblxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiYVwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEJvb2xlYW5Td2l0Y2g7IH0pO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIEJvb2xlYW4gUmVuZGVyZXJcbipcbiogU2ltcGxlIHRvZ2dsZSBzd2l0Y2ggdG8gaGFuZGxlIGJvb2xlYW4gdmFsdWVzXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xudmFyIEJvb2xlYW5Td2l0Y2ggPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBCb29sZWFuU3dpdGNoIENvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0ge0Jvb2xlYW59IGNoZWNrZWQgY2hlY2tlZCBkZWZhdWx0IHZhbHVlICwgdHJ1ZSB0byBjaGVjayAsIGZhbHNlIHRvIHVuY2hlY2tcbiAgICogQHBhcmFtIHtPYmplY3R9IGRvYyBkb2N1bWVudCBpbnN0YW5jZVxuICAgKi9cbiAgZnVuY3Rpb24gQm9vbGVhblN3aXRjaCgpIHtcbiAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogZmFsc2U7XG4gICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgdmFyIGxpc3RlbmVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJvb2xlYW5Td2l0Y2gpO1xuXG4gICAgdGhpcy5fYnVpbGQobGlzdGVuZXIsIGNoZWNrZWQsIGRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgY29tcG9uZW50IHZhbHVlXG4gICAqXG4gICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKEJvb2xlYW5Td2l0Y2gsIFt7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIEZvY3VzIG9uIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgLyoqIFRvZ2dsZSB0aGUgY29tcG9uZW50IHN0YXRlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJ0b2dnbGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gIXRoaXMuaW5wdXQuY2hlY2tlZDtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIGNoZWNrZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImNoZWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqIFNldCB0aGUgY29tcG9uZW50IHN0YXRlIHRvIHVuY2hlY2tlZCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidW5jaGVja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bmNoZWNrKCkge1xuICAgICAgdGhpcy5pbnB1dC5jaGVja2VkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBFbmFibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZW5hYmxlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGVuYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgLyoqIERpc2FibGUgdGhlIGNvbXBvbmVudCAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGlzYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkaXNhYmxlKCkge1xuICAgICAgdGhpcy5pbnB1dC5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIGlmICh0aGlzLl9vbkNsaWNrQmluZCkgdGhpcy5jb21wb25lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrQmluZCk7XG4gICAgICBpZiAodGhpcy5fb25DaGFuZ2VCaW5kKSB0aGlzLmNvbXBvbmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKGxpc3RlbmVyKSB7XG4gICAgICB2YXIgY2hlY2tlZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG4gICAgICB2YXIgZG9jID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBkb2N1bWVudDtcbiAgICAgIC8vIGxhYmVsIGFzIGNvbXBvbmVudFxuICAgICAgdGhpcy5jb21wb25lbnQgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc05hbWUgPSAnQm9vbGVhblN3aXRjaCc7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiLTFcIjsgLy8gc3BhbiBhcyBzbGlkZXJcblxuICAgICAgdGhpcy5zbGlkZXIgPSBkb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5zbGlkZXIuY2xhc3NOYW1lID0gJ3NsaWRlciByb3VuZCc7IC8vIGlucHV0XG5cbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuaW5wdXQudHlwZSA9ICdjaGVja2JveCc7XG4gICAgICB0aGlzLmlucHV0LmNoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy5pbnB1dC50YWJJbmRleCA9IFwiMFwiOyAvLyBhdHRhY2hlIGlucHV0IGFuZCBzbGlkZXIgdG8gY29tcG9uZW50XG5cbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5jb21wb25lbnQuYXBwZW5kQ2hpbGQodGhpcy5zbGlkZXIpO1xuICAgICAgdGhpcy5fb25DbGlja0JpbmQgPSB0aGlzLl9vbkNsaWNrLmJpbmQodGhpcywgbGlzdGVuZXIpO1xuICAgICAgdGhpcy5fb25DaGFuZ2VCaW5kID0gdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzLCBsaXN0ZW5lcik7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xpY2tCaW5kKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGlja1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DbGljayhsaXN0ZW5lciwgZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuZGlzYWJsZWQpIHJldHVybiBmYWxzZTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKGxpc3RlbmVyLCBlKSB7XG4gICAgICBpZiAodGhpcy5pbnB1dC5kaXNhYmxlZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoa2V5ID09IDMyKSB7XG4gICAgICAgIC8vIHNwYWNlXG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzOSkge1xuICAgICAgICAvLyByaWdodFxuICAgICAgICB0aGlzLmNoZWNrKCk7XG4gICAgICAgIGlmIChsaXN0ZW5lcikgbGlzdGVuZXIodGhpcyk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PSAzNykge1xuICAgICAgICAvLyBsZWZ0XG4gICAgICAgIHRoaXMudW5jaGVjaygpO1xuICAgICAgICBpZiAobGlzdGVuZXIpIGxpc3RlbmVyKHRoaXMpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBCb29sZWFuU3dpdGNoO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBEYXRlVGltZXNEaWFsb2c7IH0pO1xuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IHZhciBvd25LZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAnZnVuY3Rpb24nKSB7IG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7IH0pKTsgfSBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSk7IH0gcmV0dXJuIHRhcmdldDsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogRGF0ZVRpbWVzRGlhbG9nXG4qXG4qIEEgd3JhcCBhcm91bmQgZmxhdHBpY2tyIEFQSVxuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBEYXRlVGltZXNEaWFsb2cgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ29uc3RydWN0IHRoZSBEYXRlVGltZXNEaWFsb2cgQ29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBkb2MgZG9jdW1lbnQgaW5zdGFuY2VcbiAgICogXG4gICAqIHtAbGluayBodHRwczovL2ZsYXRwaWNrci5qcy5vcmcvb3B0aW9ucy99XG4gICAqL1xuICBmdW5jdGlvbiBEYXRlVGltZXNEaWFsb2coKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBkb2MgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGRvY3VtZW50O1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIERhdGVUaW1lc0RpYWxvZyk7XG5cbiAgICB0aGlzLmRvYyA9IGRvYztcbiAgICB0aGlzLm9wdGlvbnMgPSBfb2JqZWN0U3ByZWFkKHt9LCB7XG4gICAgICBkYXRlRm9ybWF0OiBvcHRpb25zLm1hc2ssXG4gICAgICBmb3JtYXREYXRlOiB0aGlzLmZvcm1hdERhdGUuYmluZCh0aGlzKSxcbiAgICAgIHBhcnNlRGF0ZTogdGhpcy5wYXJzZURhdGUuYmluZCh0aGlzKSxcbiAgICAgIG9uUmVhZHk6IHRoaXMuX29uUmVhZHkuYmluZCh0aGlzKVxuICAgIH0sIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fYnVpbGQodGhpcy5vcHRpb25zLCB0aGlzLmRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgZGF0ZSB1c2luZyBgQkJqLk1hc2tzLlR5cGVzLmRhdGVgXG4gICAqIFxuICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXQgQkJqIGRhdGUgZm9ybWF0XG4gICAqL1xuXG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVUaW1lc0RpYWxvZywgW3tcbiAgICBrZXk6IFwiZm9ybWF0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCkge1xuICAgICAgaWYgKGZvcm1hdC5pbmRleE9mKCclJykgPCAwKSByZXR1cm47XG4gICAgICByZXR1cm4gQkJqLk1hc2tzLlR5cGVzLmRhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IGRhdGUgb2JqZWN0IGZyb20gYSBkYXRlIHN0cmluZyBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZVN0cmluZyBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJwYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcpIHtcbiAgICAgIHZhciBkYXRlT2JqZWN0ID0gRGF0ZS5wYXJzZShkYXRlU3RyaW5nKTtcbiAgICAgIGlmICghKGRhdGVPYmplY3QgaW5zdGFuY2VvZiBEYXRlKSkgZGF0ZU9iamVjdCA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuICAgICAgcmV0dXJuIGRhdGVPYmplY3Q7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBkYXRlXG4gICAgICogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGUgXG4gICAgICogQHBhcmFtIHtCb29sZWFufSB0cmlnZ2VyQ2hhbmdlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwic2V0RGF0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXREYXRlKGRhdGUpIHtcbiAgICAgIHZhciB0cmlnZ2VyQ2hhbmdlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoZGF0ZSB8fCAnJywgdHJpZ2dlckNoYW5nZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBjYWxhbmRlciBvcHRpb25cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gb3B0aW9uIFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJzZXRPcHRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLnNldChvcHRpb24sIHZhbHVlKTtcbiAgICB9XG4gICAgLyoqIE9wZW4gY2FsYW5kZXIgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9wZW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb3BlbigpIHtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLm9wZW4oKTtcbiAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LmZvY3VzKCk7XG4gICAgfVxuICAgIC8qKiBDbG9zZSBDYWxhbmRlciAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiY2xvc2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xvc2UoKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5jbG9zZSgpO1xuICAgIH1cbiAgICAvKiogRW5hYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImVuYWJsZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLmlucHV0LmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICAgIC8qKiBEaXNhYmxlIHRoZSBjb21wb25lbnQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRpc2FibGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgIHRoaXMuaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgICAvKiogRGVzdHJveSBUaGUgY29tcG9uZW50IGFuZCByZW1vdmUgZXZlbnQgbGlzdGVuZXJzICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkZXN0cm95XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmZsYXRwaWNrci5kZXN0cm95KCk7XG4gICAgICBpZiAodGhpcy5fb25DbGVhckJ1dHRvbkNsaWNrQmluZCkgdGhpcy5jbGVhckJ1dHRvbi5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQpO1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bkJpbmQpIHRoaXMuY29tcG9uZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleURvd25CaW5kKTtcbiAgICB9XG4gICAgLyoqIEJ1aWxkIHRoZSBjb21wb25lbnQgc3RydWN0dXJlICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkKCkge1xuICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgICAgdmFyIGRvYyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZG9jdW1lbnQ7XG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzTmFtZSA9ICdEYXRlVGltZXNEaWFsb2cnO1xuICAgICAgdGhpcy5jb21wb25lbnQudGFiSW5kZXggPSBcIjBcIjtcbiAgICAgIHRoaXMuaW5wdXQgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdGhpcy5mbGF0cGlja3IgPSBmbGF0cGlja3IodGhpcy5pbnB1dCwgb3B0aW9ucyk7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFsbG93IGFycm93IGtleXMgaW5zaWRlIHRoZSBpbnB1dFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGUgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25LZXlEb3duXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbktleURvd24oZSkge1xuICAgICAgdmFyIGtleSA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuXG4gICAgICBpZiAoWzM3LCAzOV0uaW5kZXhPZihrZXkpID4gLTEpIHtcbiAgICAgICAgLy8gbGVmdCB8fCByaWdodFxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICgzOCA9PT0ga2V5KSB7XG4gICAgICAgIC8vIHVwIFxuICAgICAgICB2YXIgY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcblxuICAgICAgICB2YXIgX25leHQgPSBEYXRlLnBhcnNlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBpZiAoIShfbmV4dCBpbnN0YW5jZW9mIERhdGUpKSBfbmV4dCA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcblxuICAgICAgICBfbmV4dC5zZXREYXRlKF9uZXh0LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLnNldERhdGUoX25leHQsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUoX25leHQsIHRoaXMub3B0aW9ucy5tYXNrKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAoNDAgPT09IGtleSkge1xuICAgICAgICAvLyBkb3duXG4gICAgICAgIHZhciBfY3VycmVudERhdGUgPSB0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZTtcbiAgICAgICAgdmFyIHByZXYgPSBEYXRlLnBhcnNlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIGlmICghKHByZXYgaW5zdGFuY2VvZiBEYXRlKSkgbmV4dCA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZSk7XG4gICAgICAgIHByZXYuc2V0RGF0ZShwcmV2LmdldERhdGUoKSAtIDEpO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5zZXREYXRlKHByZXYsIGZhbHNlLCB0aGlzLm9wdGlvbnMubWFzayk7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmlucHV0LnZhbHVlID0gQkJqLk1hc2tzLlR5cGVzLmRhdGUocHJldiwgdGhpcy5vcHRpb25zLm1hc2spO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICg5ID09PSBrZXkpIHtcbiAgICAgICAgLy8gdGFwXG4gICAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmZsYXRwaWNrci5pbnB1dC52YWx1ZSwgdHJ1ZSwgdGhpcy5vcHRpb25zLmRhdGVGb3JtYXQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNsZWFyIGJ1dHRvbiB3aGVuIGZsYXRwaWNrciBpcyByZWFkeSBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge0RhdGV9IGRhdGVPYmogXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGVTdHIgXG4gICAgICogQHBhcmFtIHtmbGF0cGlja3J9IGluc3RhbmNlIFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uUmVhZHlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uUmVhZHkoZGF0ZU9iaiwgZGF0ZVN0ciwgaW5zdGFuY2UpIHtcbiAgICAgIHZhciBjbGVhckJ1dHRvbiA9IGluc3RhbmNlLmNhbGVuZGFyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5mbGF0cGlja3ItY2xlYXInKTtcblxuICAgICAgaWYgKCFjbGVhckJ1dHRvbikge1xuICAgICAgICB0aGlzLmNsZWFyQnV0dG9uID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uY2xhc3NOYW1lID0gJ2ZsYXRwaWNrci1jbGVhcic7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uaW5uZXJIVE1MID0gJ0NsZWFyJztcbiAgICAgICAgaW5zdGFuY2UuY2FsZW5kYXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5jbGVhckJ1dHRvbik7XG4gICAgICAgIHRoaXMuX29uQ2xlYXJCdXR0b25DbGlja0JpbmQgPSB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2suYmluZCh0aGlzLCBpbnN0YW5jZSk7XG4gICAgICAgIHRoaXMuY2xlYXJCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsZWFyQnV0dG9uQ2xpY2tCaW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogTGlzdGVuIHRvIGZsYXRwaWNrciBjbGVhciBidXR0b24gY2xpY2tzIGFuZCBjbGVhciB0aGUgY2FsYW5kZXJcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge2ZsYXRwaWNrcn0gaW5zdGFuY2UgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DbGVhckJ1dHRvbkNsaWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9vbkNsZWFyQnV0dG9uQ2xpY2soZmxhdHBpY2tySW5zdGFuY2UpIHtcbiAgICAgIGZsYXRwaWNrckluc3RhbmNlLmNsZWFyKCk7XG4gICAgICBmbGF0cGlja3JJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnb25DbGVhcicpKSB0aGlzLm9wdGlvbnMub25DbGVhcigpO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEYXRlVGltZXNEaWFsb2c7XG59KCk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIGNvbnRlbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xuXG5pZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaSwgY29udGVudCwgJyddXTtcbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcbnZhciBvcHRpb25zID0ge1xuICBcImhtclwiOiB0cnVlXG59O1xub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG5cbm9wdGlvbnMuaW5zZXJ0SW50byA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHdpbmRvdy50b3AuZG9jdW1lbnQuaGVhZDtcbn07XG5cbnZhciB1cGRhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZiAoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmIChmYWxzZSkge1xuICBtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTEtMSEuL3N0eWxlLmNzc1wiKTtcblxuICAgIGlmICh0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuICAgIHZhciBsb2NhbHMgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgdmFyIGtleSxcbiAgICAgICAgICBpZHggPSAwO1xuXG4gICAgICBmb3IgKGtleSBpbiBhKSB7XG4gICAgICAgIGlmICghYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZHgrKztcbiAgICAgIH1cblxuICAgICAgZm9yIChrZXkgaW4gYikge1xuICAgICAgICBpZHgtLTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkeCA9PT0gMDtcbiAgICB9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2Fscyk7XG5cbiAgICBpZiAoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcbiAgICB1cGRhdGUobmV3Q29udGVudCk7XG4gIH0pO1xuICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgIHVwZGF0ZSgpO1xuICB9KTtcbn1cblxuLyoqKi8gfSksXG4vKiA2ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNCb29sZWFuc1JlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0uQmFzaWNCb29sZWFuc0ZpbHRlciB1bHtkaXNwbGF5OmJsb2NrO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXJ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGl7cGFkZGluZzoxMHB4Oy13ZWJraXQtdHJhbnNpdGlvbjouNHM7dHJhbnNpdGlvbjouNHM7Ym9yZGVyLWJvdHRvbTp0aGluIHNvbGlkICNjY2N9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGkuc2VsZWN0ZWR7YmFja2dyb3VuZDojNTY5ZmY3O2NvbG9yOiNmZmZ9LkJhc2ljQm9vbGVhbnNGaWx0ZXIgdWwgbGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9LkJvb2xlYW5Td2l0Y2h7b3V0bGluZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt3aWR0aDo0MHB4O2hlaWdodDoyMHB4fS5Cb29sZWFuU3dpdGNoIGlucHV0e2Rpc3BsYXk6bm9uZX0uQm9vbGVhblN3aXRjaCAuc2xpZGVye2N1cnNvcjpwb2ludGVyO3RvcDoyMCU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjEwJTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2N9LkJvb2xlYW5Td2l0Y2ggLnNsaWRlciwuQm9vbGVhblN3aXRjaCAuc2xpZGVyOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246LjRzO3RyYW5zaXRpb246LjRzfS5Cb29sZWFuU3dpdGNoIC5zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6XFxcIlxcXCI7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtsZWZ0OjFweDt0b3A6MXB4O2JvdHRvbToxcHg7cmlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uQm9vbGVhblN3aXRjaCBpbnB1dDpjaGVja2VkKy5zbGlkZXJ7YmFja2dyb3VuZC1jb2xvcjojNTY5ZmY3fS5Cb29sZWFuU3dpdGNoIGlucHV0OmZvY3VzKy5zbGlkZXJ7Ym94LXNoYWRvdzowIDAgMXB4ICM1NjlmZjd9LkJvb2xlYW5Td2l0Y2ggaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KX0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5ke2JvcmRlci1yYWRpdXM6MjhweH0uQm9vbGVhblN3aXRjaCAuc2xpZGVyLnJvdW5kOmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJX1cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiA3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvfFxccyokKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuXG5cbi8qKiovIH0pLFxuLyogOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7Zm9udC1zaXplOjEzcHg7Ym9yZGVyLXJhZGl1czo1cHh9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFye3BhZGRpbmc6N3B4O21hcmdpbjoxMnB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzU2OWZmNztjb2xvcjojZmZmO291dGxpbmU6MDtib3JkZXI6MDttaW4td2lkdGg6MTAwcHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNoYWRvdzowIDAgMnB4IDAgdHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zNnN9LmZsYXRwaWNrci1jYWxlbmRhciAuZmxhdHBpY2tyLWNsZWFyOmZvY3VzLC5mbGF0cGlja3ItY2FsZW5kYXIgLmZsYXRwaWNrci1jbGVhcjpob3Zlcntib3gtc2hhZG93OjAgMCAycHggMCAjOWU5ZTllfS5EYXRlVGltZXNEaWFsb2d7bWF4LXdpZHRoOjMwNy44NzVweDtvdmVyZmxvdzpoaWRkZW59LkRhdGVUaW1lc0RpYWxvZyBpbnB1dHttaW4td2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cGFkZGluZzozcHg7b3V0bGluZTowO2JvcmRlcjpub25lfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMSk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDExICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNJbWFnZXNSZW5kZXJlciBpbWd7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbnZhciBjb250ZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cbmlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xudmFyIG9wdGlvbnMgPSB7XG4gIFwiaG1yXCI6IHRydWVcbn07XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcblxub3B0aW9ucy5pbnNlcnRJbnRvID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2luZG93LnRvcC5kb2N1bWVudC5oZWFkO1xufTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmIChjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYgKGZhbHNlKSB7XG4gIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9zdHlsZS5jc3NcIiwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tMS0xIS4vc3R5bGUuY3NzXCIpO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG4gICAgdmFyIGxvY2FscyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICB2YXIga2V5LFxuICAgICAgICAgIGlkeCA9IDA7XG5cbiAgICAgIGZvciAoa2V5IGluIGEpIHtcbiAgICAgICAgaWYgKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlkeCsrO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGtleSBpbiBiKSB7XG4gICAgICAgIGlkeC0tO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaWR4ID09PSAwO1xuICAgIH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKTtcblxuICAgIGlmICghbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgfSk7XG4gIG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbiAoKSB7XG4gICAgdXBkYXRlKCk7XG4gIH0pO1xufVxuXG4vKioqLyB9KSxcbi8qIDEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaSwgXCIuQmFzaWNOdW1iZXJzRWRpdG9ye2Rpc3BsYXk6YmxvY2t9LkJhc2ljTnVtYmVyc0VkaXRvciBpbnB1dHttaW4td2lkdGg6MTAwJTtvdXRsaW5lOjA7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvcmRlcjpub25lO3BhZGRpbmc6M3B4fVwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcblxuXG4vKioqLyB9KSxcbi8qIDE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19Cb29sZWFuU3dpdGNoX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fVXRpbGl0aWVzX1BhcmFtc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuXG4vKipcbiogQm9vbGVhbnMgUmVuZGVyZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIFJlbmRlcmVyaW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgUmVuZGVyZXIgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKFJlbmRlcmVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBSZW5kZXJlcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVuZGVyZXIpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihSZW5kZXJlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUmVuZGVyZXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKG51bGwsIGRvYyk7XG4gICAgICBzd2l0Y2hlci5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiO1xuXG4gICAgICBpZiAoIXBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignUkVOREVSRVJfVFJVRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1RSVUUnLCBwYXJhbXMpO1xuICAgICAgICB2YXIgZmFsc2VWYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcblxuICAgICAgICBpZiAodHJ1ZSA9PT0gcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKCF0cnVlVmFsdWUgfHwgdHJ1ZVZhbHVlID09PSAnc3dpdGNoJykge1xuICAgICAgICAgICAgc3dpdGNoZXIuY2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHN3aXRjaGVyLmNvbXBvbmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IHRydWVWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFmYWxzZVZhbHVlIHx8IGZhbHNlVmFsdWUgPT09ICdzd2l0Y2gnKSB7XG4gICAgICAgICAgICBzd2l0Y2hlci51bmNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2l0Y2hlci5jb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSBmYWxzZVZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBSZW5kZXJlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0Jvb2xlYW5Td2l0Y2hfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBCb29sZWFucyBFZGl0b3JcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEVkaXRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBFZGl0b3IgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKF9QYXJhbXNNaXhpbnMpIHtcbiAgX2luaGVyaXRzKEVkaXRvciwgX1BhcmFtc01peGlucyk7XG5cbiAgZnVuY3Rpb24gRWRpdG9yKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFZGl0b3IpO1xuXG4gICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIF9nZXRQcm90b3R5cGVPZihFZGl0b3IpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVkaXRvciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuXG4gICAgLyoqXG4gICAgICogU2V0dXAgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgc3RhcnRWYWx1ZTtcbiAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT09IG51bGwpIHN0YXJ0VmFsdWUgPSBCb29sZWFuKHBhcmFtcy5rZXlQcmVzcyk7ZWxzZSBpZiAocGFyYW1zLmNoYXJQcmVzcyAhPT0gbnVsbCkgc3RhcnRWYWx1ZSA9IEJvb2xlYW4ocGFyYW1zLmNoYXJQcmVzcyk7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gQm9vbGVhbihwYXJhbXMuY2hhclByZXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG4gICAgICB0aGlzLnN3aXRjaGVyID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fQm9vbGVhblN3aXRjaF9fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKHN0YXJ0VmFsdWUsIGRvYywgZnVuY3Rpb24gKHN3aXRjaGVyKSB7XG4gICAgICAgIF90aGlzLmN1cnJlbnRWYWx1ZSA9IHN3aXRjaGVyLmdldFZhbHVlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZm9jdXNJbigpOyAvLyB1cGRhdGUgYGN1cnJlbnRWYWx1ZWAgdGhlIHZhbHVlIHdoaWNoIHRoaXMgY29tcG9uZW50IGlzIG1hbmFnaW5nXG5cbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gc3RhcnRWYWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWZyZW5jZSB0byB0aGUgY29tcG9uZW50IGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0hUTUxFbGVtZW50fVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLnN3aXRjaGVyLmNvbXBvbmVudDtcbiAgICB9XG4gICAgLyoqIE1ha2Ugc3VyZSBjb250YWluZXIgaXMgYWx3YXlzIGZvY3VzZWQgdG8gbGlzdGVuIHRvIGtleSBjaGFuZ2VzKi9cblxuICB9LCB7XG4gICAga2V5OiBcImFmdGVyR3VpQXR0YWNoZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWZ0ZXJHdWlBdHRhY2hlZCgpIHtcbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB0aGlzLmZvY3VzSW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5mb2N1cygpO1xuICAgIH1cbiAgICAvKiogQ2FsbGVkIGlmIGVkaXRUeXBlID0gJ2Z1bGxSb3cnICovXG5cbiAgfSwge1xuICAgIGtleTogXCJmb2N1c091dFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c091dCgpIHtcbiAgICAgIHRoaXMuc3dpdGNoZXIuZGlzYWJsZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFZhbHVlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFZhbHVlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgdGhpcy5zd2l0Y2hlci5kZXN0cm95KCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEVkaXRvcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBCb29sZWFucyBGaWx0ZXJcbipcbiogSGFuZGxlIGJvb2xlYW4gdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciB0cnVlVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX1RSVUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdUUlVFJywgcGFyYW1zKTtcbiAgICAgIHZhciBmYWxzZVZhbHVlID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9GQUxTRScsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ0ZBTFNFJywgcGFyYW1zKTtcbiAgICAgIHZhciBub25lVmFsdWUgPSB0aGlzLmdldE9wdGlvbignRklMVEVSX05PTkUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdOT05FJywgcGFyYW1zKTtcbiAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgdGhpcy52YWx1ZUdldHRlciA9IHBhcmFtcy52YWx1ZUdldHRlcjtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IG51bGw7XG4gICAgICB0aGlzLmd1aSA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZ3VpLmNsYXNzTmFtZSA9ICdCYXNpY0Jvb2xlYW5zRmlsdGVyJztcbiAgICAgIHRoaXMuZ3VpLnRhYkluZGV4ID0gXCIwXCI7XG4gICAgICB0aGlzLmd1aS5pbm5lckhUTUwgPSBcIlxcbiAgICAgICAgPHVsIGNsYXNzPVxcXCJhZy1maWx0ZXItYm9keVxcXCI+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwidHJ1ZVxcXCI+XCIuY29uY2F0KHRydWVWYWx1ZSB8fCAnJiM5NjczIFRydWUnLCBcIjwvbGk+XFxuICAgICAgICAgIDxsaSB2YWx1ZT1cXFwiZmFsc2VcXFwiPlwiKS5jb25jYXQoZmFsc2VWYWx1ZSB8fCAnJiM5Njc4OyBGYWxzZScsIFwiPC9saT5cXG4gICAgICAgICAgPGxpIHZhbHVlPVxcXCJub25lXFxcIj5cIikuY29uY2F0KG5vbmVWYWx1ZSB8fCAnJiM5Njc3OyBOb25lJywgXCI8L2xpPlxcbiAgICAgICAgPC91bD5cXG4gICAgXCIpO1xuICAgICAgdGhpcy5maWx0ZXJFbGVtZW50cyA9IHRoaXMuZ3VpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmZpbHRlckVsZW1lbnRzW2ldO1xuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9vbkNoYW5nZUJpbmQpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiogQHJldHVybiB7SFRNTEVsZW1lbnR9Ki9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5ndWk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0YVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcyk7XG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScgJiYgdmFsdWUgPT0gZmFsc2UpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJUZXh0LnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyAmJiB2YWx1ZSA9PSB0cnVlKSB7XG4gICAgICAgIHBhc3NlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpID09PSAnbm9uZScpIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3NlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVjayB3aGV0aGVyIHRoZSBjb21wb25lbnQgaXMgYXBwbHlpbmcgYW55IGZpbHRlciBvbiB0aGUgY29sdW1uXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtCb29sZWFufVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzRmlsdGVyQWN0aXZlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzRmlsdGVyQWN0aXZlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVGV4dCAhPT0gbnVsbCAmJiB0aGlzLmZpbHRlclRleHQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmZpbHRlclRleHQgIT09ICdub25lJztcbiAgICB9XG4gICAgLyoqIEdldHMgdGhlIGZpbHRlciBzdGF0ZSBmb3Igc3RvcmluZyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0TW9kZWxcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWwoKSB7XG4gICAgICB2YXIgbW9kZWwgPSB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmZpbHRlclRleHRcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExpc3RlbiB0byBzZWxlY3Rpb24gY2hhbmdlcyBpbiB0aGUgZmlsdGVyIGxpc3QgYW5kIHVwZGF0ZSB0aGUgZ3JpZFxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9vbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25DaGFuZ2UoZXZlbnQpIHtcbiAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IGV2ZW50LnRhcmdldC5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMuZmlsdGVyRWxlbWVudHNbaV07XG5cbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZpbHRlcjtcbn0oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10pO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cblxuLyoqXG4qIERhdGUgLyBUaW1lcyBFZGl0b3JcbipcbiogSGFuZGxlIERhdGUvVGltZSB2YWx1ZXMgRWRpdGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEVkaXRvciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRWRpdG9yLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBFZGl0b3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEVkaXRvcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEVkaXRvcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRWRpdG9yLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBTZXR1cCB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHZhciBzdGFydFZhbHVlO1xuICAgICAgdGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQgPSBwYXJhbXMuY2VsbFN0YXJ0ZWRFZGl0O1xuXG4gICAgICBpZiAodGhpcy5mb2N1c0FmdGVyQXR0YWNoZWQpIHtcbiAgICAgICAgdmFyIGtleVByZXNzQmFja3NwYWNlT3JEZWxldGUgPSBwYXJhbXMua2V5UHJlc3MgPT0gMzIgLy8gc3BhY2VcbiAgICAgICAgfHwgcGFyYW1zLmtleVByZXNzID09IDQ2OyAvLyBkZWxldGVcblxuICAgICAgICBpZiAoa2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSkge1xuICAgICAgICAgIHN0YXJ0VmFsdWUgPSAnJztcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMuY2hhclByZXNzKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy5jaGFyUHJlc3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcblxuICAgICAgICAgIGlmIChwYXJhbXMua2V5UHJlc3MgIT0gMTEzKSB7XG4gICAgICAgICAgICAvL0YyXG4gICAgICAgICAgICB0aGlzLmhpZ2hsaWdodEFsbE9uRm9jdXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRWYWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kaWFsb2cgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19EYXRlVGltZXNEaWFsb2dfX1tcImFcIiAvKiBkZWZhdWx0ICovXSh7XG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRURJVE9SX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdzaW5nbGUnLFxuICAgICAgICAvL3RoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTU9ERScsIHBhcmFtcykgfHwgJ3JhbmdlJyxcbiAgICAgICAgdGltZV8yNGhyOiB0aGlzLmdldE9wdGlvbignRURJVE9SXzI0SCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJzI0SCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG9uVmFsdWVVcGRhdGU6IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTtcbiAgICAgIHRoaXMuZGlhbG9nLnNldERhdGUoc3RhcnRWYWx1ZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBgY3VycmVudFZhbHVlYCAgXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZShkYXRlU3RyLCBmYWxzZSk7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRhdGVTdHI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVmcmVuY2UgdG8gdGhlIGNvbXBvbmVudCBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2cuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmRpYWxvZy5pbnB1dC5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNJbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qKiBDYWxsZWQgaWYgZWRpdFR5cGUgPSAnZnVsbFJvdycgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzSW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNJbigpIHtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oKTtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNPdXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZm9jdXNPdXQoKSB7XG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgVGhlIGNvbXBvbmVudCB2YWx1ZVxuICAgICAqXG4gICAgICogQHJldHVybiB7U3RyaW5nfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0VmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXBvbmVudCBvdmVyZmxvd3MgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyB0cnVlXG4gICAgICoqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiaXNQb3B1cFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc1BvcHVwKCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKiogRGVzdG9yeSBEYXRlVGltZXNEaWFsb2cgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImRlc3Ryb3lcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgIHRoaXMuZGlhbG9nLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWRpdG9yO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDE4ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIERhdGVzIC8gVGltZXMgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBEYXRlIC8gVGltZSB2YWx1ZXMgZm9ybWF0dGluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIFZhbHVlRm9ybWF0dGVyID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gVmFsdWVGb3JtYXR0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFZhbHVlRm9ybWF0dGVyKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhWYWx1ZUZvcm1hdHRlciwgbnVsbCwgW3tcbiAgICBrZXk6IFwiZm9ybWF0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdChwYXJhbXMpIHtcbiAgICAgIHZhciBwYXJhbXNNaXhpbnMgPSBuZXcgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX19bXCJhXCIgLyogZGVmYXVsdCAqL10oKTtcbiAgICAgIHZhciBkb2MgPSBwYXJhbXNNaXhpbnMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB2YXIgbWFzayA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ1JFTkRFUkVSX01BU0snLCBwYXJhbXMpO1xuXG4gICAgICBpZiAobWFzayAmJiBwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgJiYgcGFyYW1zLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMuZGF0ZShwYXJhbXMudmFsdWUsIG1hc2spO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAxOSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRmlsdGVyOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX0RhdGVUaW1lc0RpYWxvZ19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHsgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cbi8qKlxuKiBEYXRlIC8gVGltZSBGaWx0ZXJcbipcbiogSGFuZGxlIERhdGVzIC8gVGltZXMgdmFsdWVzIEZpbHRlcmluZ1xuKlxuKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cblxudmFyIEZpbHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoRmlsdGVyLCBfUGFyYW1zTWl4aW5zKTtcblxuICBmdW5jdGlvbiBGaWx0ZXIoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbHRlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKEZpbHRlcikuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRmlsdGVyLCBbe1xuICAgIGtleTogXCJpbml0XCIsXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIEJvb2xlYW4gRmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXQocGFyYW1zKSB7XG4gICAgICB2YXIgZG9jID0gdGhpcy5nZXREb2MocGFyYW1zKTtcbiAgICAgIHRoaXMuZGlhbG9nID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fRGF0ZVRpbWVzRGlhbG9nX19bXCJhXCIgLyogZGVmYXVsdCAqL10oe1xuICAgICAgICBpbmxpbmU6IHRydWUsXG4gICAgICAgIGVuYWJsZVRpbWU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1RJTUUnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfVElNRScsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIGVuYWJsZVNlY29uZHM6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfRU5BQkxFX1NFQ09ORFMnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdFTkFCTEVfU0VDT05EUycsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1heERhdGU6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFYJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUFYJywgcGFyYW1zKSB8fCBudWxsLFxuICAgICAgICBtaW5EYXRlOiB0aGlzLmdldE9wdGlvbignRklMVEVSX01JTicsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01JTicsIHBhcmFtcykgfHwgbnVsbCxcbiAgICAgICAgbWFzazogdGhpcy5nZXRPcHRpb24oJ01BU0snLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfTUFTSycsIHBhcmFtcyksXG4gICAgICAgIGFsbG93SW5wdXQ6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfQUxMT1dfSU5QVVQnLCBwYXJhbXMpIHx8IHRoaXMuZ2V0T3B0aW9uKCdBTExPV19JTlBVVCcsIHBhcmFtcykgfHwgZmFsc2UsXG4gICAgICAgIG1vZGU6ICdyYW5nZScsXG4gICAgICAgIC8vdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NT0RFJywgcGFyYW1zKSB8fCAncmFuZ2UnLFxuICAgICAgICB0aW1lXzI0aHI6IHRoaXMuZ2V0T3B0aW9uKCdGSUxURVJfMjRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignMjRIJywgcGFyYW1zKSB8fCBmYWxzZSxcbiAgICAgICAgb25WYWx1ZVVwZGF0ZTogdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpLFxuICAgICAgICBvbkNsZWFyOiB0aGlzLm9uQ2xlYXIuYmluZCh0aGlzKVxuICAgICAgfSwgZG9jKTsgLy8gbWFrZSBzdXJlIG5vIGRhdGUgaXMgc2VsZWN0ZWRcblxuICAgICAgdGhpcy5kaWFsb2cuc2V0RGF0ZSgnJywgdHJ1ZSk7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWVHZXR0ZXIgPSBwYXJhbXMudmFsdWVHZXR0ZXI7XG4gICAgICB0aGlzLmZpbHRlckRhdGVzID0gbnVsbDtcbiAgICB9XG4gICAgLyoqIFJlc2V0IGZpbHRlciB3aGVuIGNhbGFuZGVyIGlzIGNsZWFyZWQgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIm9uQ2xlYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25DbGVhcigpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0ZXMgPSBbXTtcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlckNoYW5nZWRDYWxsYmFjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMaXN0ZW4gdG8gc2VsZWN0aW9uIGNoYW5nZXMgaW4gdGhlIGNhbGFuZGVyIGFuZCB1cGRhdGUgdGhlIGdyaWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkNoYW5nZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZShkYXRlcywgZGF0ZVN0cikge1xuICAgICAgdGhpcy5maWx0ZXJEYXRlcyA9IGRhdGVzO1xuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XG4gICAgfVxuICAgIC8qKiBAcmV0dXJuIHtIVE1MRWxlbWVudH0qL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0R3VpXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEd1aSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5jb21wb25lbnQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIHdoZXRoZXIgc2VsZWN0ZWQgZmlsdGVyIG1hdGNocyB0aGUgcGFzc2VkIGNlbGwgZGF0ZVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtc1xuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSB3aGVuIHBhc3MsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZG9lc0ZpbHRlclBhc3NcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZG9lc0ZpbHRlclBhc3MocGFyYW1zKSB7XG4gICAgICB2YXIgdmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlR2V0dGVyKHBhcmFtcykpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMgPSBfc2xpY2VkVG9BcnJheSh0aGlzLmZpbHRlckRhdGVzLCAyKSxcbiAgICAgICAgICBzdGFydCA9IF90aGlzJGZpbHRlckRhdGVzWzBdLFxuICAgICAgICAgIGVuZCA9IF90aGlzJGZpbHRlckRhdGVzWzFdO1xuXG4gICAgICB2YXIgcGFzc2VkO1xuXG4gICAgICBpZiAodHlwZW9mIGVuZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHN0YXJ0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgc3RhcnRBc0RhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgICAgIHZhciBlbmRBc0RhdGUgPSBuZXcgRGF0ZShlbmQpO1xuICAgICAgICBwYXNzZWQgPSB2YWx1ZSA+PSBzdGFydEFzRGF0ZSAmJiB2YWx1ZSA8PSBlbmRBc0RhdGU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGFydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIF9zdGFydEFzRGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcblxuICAgICAgICBwYXNzZWQgPSBfc3RhcnRBc0RhdGUgPT09IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFzc2VkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3NlZDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2sgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGFwcGx5aW5nIGFueSBmaWx0ZXIgb24gdGhlIGNvbHVtblxuICAgICAqXG4gICAgICogQHJldHVybiB7Qm9vbGVhbn1cbiAgICAgKiovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0ZpbHRlckFjdGl2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0ZpbHRlckFjdGl2ZSgpIHtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuZmlsdGVyRGF0ZXMpICYmIHRoaXMuZmlsdGVyRGF0ZXMubGVuZ3RoO1xuICAgIH1cbiAgICAvKiogR2V0cyB0aGUgZmlsdGVyIHN0YXRlIGZvciBzdG9yaW5nICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRNb2RlbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRNb2RlbCgpIHtcbiAgICAgIHZhciBtb2RlbCA9IHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyRGF0ZXNcbiAgICAgIH07XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSByZWFkIG9ubHkgZmxvYXRpbmcgZmlsdGVyIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ31cbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldE1vZGVsQXNTdHJpbmdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TW9kZWxBc1N0cmluZygpIHtcbiAgICAgIHZhciBtYXNrID0gdGhpcy5nZXRPcHRpb24oJ0ZJTFRFUl9NQVNLJywgdGhpcy5wYXJhbXMpO1xuXG4gICAgICB2YXIgX3RoaXMkZmlsdGVyRGF0ZXMyID0gX3NsaWNlZFRvQXJyYXkodGhpcy5maWx0ZXJEYXRlcywgMiksXG4gICAgICAgICAgc3RhcnQgPSBfdGhpcyRmaWx0ZXJEYXRlczJbMF0sXG4gICAgICAgICAgZW5kID0gX3RoaXMkZmlsdGVyRGF0ZXMyWzFdO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gJyc7XG4gICAgICBpZiAoc3RhcnQpIHJlc3VsdCArPSBcIlwiLmNvbmNhdChCQmouTWFza3MuVHlwZXMuZGF0ZShzdGFydCwgbWFzaykpO1xuICAgICAgaWYgKGVuZCkgcmVzdWx0ICs9IFwiIC0gXCIuY29uY2F0KEJCai5NYXNrcy5UeXBlcy5kYXRlKGVuZCwgbWFzaykpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRmlsdGVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW5kZXJlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKipcbiogSW1hZ2VzIFJlbmRlcmVyXG4qXG4qIEhhbmRsZSBJbWFnZXMgUmVuZGVyZXJpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBSZW5kZXJlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoX1BhcmFtc01peGlucykge1xuICBfaW5oZXJpdHMoUmVuZGVyZXIsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIFJlbmRlcmVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZW5kZXJlcik7XG5cbiAgICByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgX2dldFByb3RvdHlwZU9mKFJlbmRlcmVyKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhSZW5kZXJlciwgW3tcbiAgICBrZXk6IFwiaW5pdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0KHBhcmFtcykge1xuICAgICAgdmFyIGRvYyA9IHRoaXMuZ2V0RG9jKHBhcmFtcyk7XG4gICAgICB0aGlzLmNvbnRhaW5lciA9IGRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc05hbWUgPSBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIjtcblxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgd2lkdGggPSB0aGlzLmdldE9wdGlvbignSU1BR0VTX1dJRFRIJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignV0lEVEgnLCBwYXJhbXMpIHx8ICcyNXB4JztcbiAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuZ2V0T3B0aW9uKCdJTUFHRVNfSEVJR0hUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignSEVJR0hUJywgcGFyYW1zKSB8fCAnMjVweCc7XG4gICAgICAgIHZhciBsaXN0ID0gdGhpcy5nZXRPcHRpb24oJ0lNQUdFU19MSVNUJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTElTVCcsIHBhcmFtcyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsaXN0ID0gSlNPTi5wYXJzZShsaXN0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxpc3QgPSBsaXN0IHx8IHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5oYXNPd25Qcm9wZXJ0eShwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gXCI8aW1nIHNyYz1cXFwiXCIuY29uY2F0KGxpc3RbcGFyYW1zLnZhbHVlXSwgXCJcXFwiIHdpZHRoPVxcXCJcIikuY29uY2F0KHdpZHRoLCBcIlxcXCIgaGVpZ2h0PVxcXCJcIikuY29uY2F0KGhlaWdodCwgXCJcXFwiLz5cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gcGFyYW1zLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEd1aVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRHdWkoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFJlbmRlcmVyO1xufShfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfX1tcImFcIiAvKiBkZWZhdWx0ICovXSk7XG5cblxuXG4vKioqLyB9KSxcbi8qIDIxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcImFcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBWYWx1ZUZvcm1hdHRlcjsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19VdGlsaXRpZXNfUGFyYW1zX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYWctZ2lyZC1jb21wb25lbnRzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqXG4gKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4gKi9cblxuLyoqXG4qIE51bWJlcnMgVmFsdWUgRm9ybWF0dGVyXG4qXG4qIEhhbmRsZSBOdW1iZXIgdmFsdWVzIGZvcm1hdHRpbmdcbipcbiogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG5cbnZhciBWYWx1ZUZvcm1hdHRlciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFZhbHVlRm9ybWF0dGVyKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBWYWx1ZUZvcm1hdHRlcik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVmFsdWVGb3JtYXR0ZXIsIG51bGwsIFt7XG4gICAga2V5OiBcImZvcm1hdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JtYXQocGFyYW1zKSB7XG4gICAgICB2YXIgcGFyYW1zTWl4aW5zID0gbmV3IF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKCk7XG4gICAgICB2YXIgZG9jID0gcGFyYW1zTWl4aW5zLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIG1hc2sgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdNQVNLJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdSRU5ERVJFUl9NQVNLJywgcGFyYW1zKTtcbiAgICAgIHZhciBncm91cFNlcCA9IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfR1JPVVBfU0VQQVJBVE9SJywgcGFyYW1zKSB8fCBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdOVU1CRVJTX1JFTkRFUkVSX0dST1VQX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgJywnO1xuICAgICAgdmFyIGRlY2ltYWxTZXAgPSBwYXJhbXNNaXhpbnMuZ2V0T3B0aW9uKCdERUNJTUFMX1NFUEFSQVRPUicsIHBhcmFtcykgfHwgcGFyYW1zTWl4aW5zLmdldE9wdGlvbignUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8IHBhcmFtc01peGlucy5nZXRPcHRpb24oJ05VTUJFUlNfUkVOREVSRVJfREVDSU1BTF9TRVBBUkFUT1InLCBwYXJhbXMpIHx8ICcuJztcblxuICAgICAgaWYgKG1hc2sgJiYgcGFyYW1zLmhhc093blByb3BlcnR5KCd2YWx1ZScpICYmIHBhcmFtcy52YWx1ZSAhPSBudWxsICYmICFpc05hTihwYXJhbXMudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBCQmouTWFza3MuVHlwZXMubnVtYmVyKHBhcmFtcy52YWx1ZSwgbWFzaywgZ3JvdXBTZXAsIGRlY2ltYWxTZXApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW1zLnZhbHVlIHx8ICcnOyAvLyBhdm9pZCB1bmRlZmluZWQgXG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFZhbHVlRm9ybWF0dGVyO1xufSgpO1xuXG5cblxuLyoqKi8gfSksXG4vKiAyMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJhXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRWRpdG9yOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1V0aWxpdGllc19QYXJhbXNfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGFnLWdpcmQtY29tcG9uZW50cyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKlxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKlxuKiBOdW1iZXJzIEVkaXRvclxuKlxuKiBIYW5kbGUgbnVtYmVyIHZhbHVlcyBFZGl0aW5nXG4qXG4qIEBhdXRob3IgSHl5YW4gQWJvIEZha2hlciA8aGFib2Zha2hlckBiYXNpcy5jb20+XG4qL1xuXG52YXIgRWRpdG9yID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uIChfUGFyYW1zTWl4aW5zKSB7XG4gIF9pbmhlcml0cyhFZGl0b3IsIF9QYXJhbXNNaXhpbnMpO1xuXG4gIGZ1bmN0aW9uIEVkaXRvcigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRWRpdG9yKTtcblxuICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCBfZ2V0UHJvdG90eXBlT2YoRWRpdG9yKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFZGl0b3IsIFt7XG4gICAga2V5OiBcImluaXRcIixcblxuICAgIC8qKlxuICAgICAqIFNldHVwIHRoZSBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXNcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdChwYXJhbXMpIHtcbiAgICAgIHZhciBkb2MgPSB0aGlzLmdldERvYyhwYXJhbXMpO1xuICAgICAgdmFyIHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCA9IHBhcmFtcy5jZWxsU3RhcnRlZEVkaXQ7XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzQWZ0ZXJBdHRhY2hlZCkge1xuICAgICAgICB2YXIga2V5UHJlc3NCYWNrc3BhY2VPckRlbGV0ZSA9IHBhcmFtcy5rZXlQcmVzcyA9PSAzMiAvLyBzcGFjZVxuICAgICAgICB8fCBwYXJhbXMua2V5UHJlc3MgPT0gNDY7IC8vIGRlbGV0ZVxuXG4gICAgICAgIGlmIChrZXlQcmVzc0JhY2tzcGFjZU9yRGVsZXRlKSB7XG4gICAgICAgICAgc3RhcnRWYWx1ZSA9ICcnO1xuICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5jaGFyUHJlc3MpIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLmNoYXJQcmVzcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICAgICAgaWYgKHBhcmFtcy5rZXlQcmVzcyAhPSAxMTMpIHtcbiAgICAgICAgICAgIC8vRjJcbiAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydFZhbHVlID0gcGFyYW1zLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbXBvbmVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgdGhpcy5jb21wb25lbnQuY2xhc3NOYW1lID0gJ0Jhc2ljTnVtYmVyc0VkaXRvcic7XG4gICAgICB0aGlzLmNvbXBvbmVudC50YWJJbmRleCA9IFwiMFwiOyAvLyBpbnB1dFxuXG4gICAgICB0aGlzLmlucHV0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICB0aGlzLmlucHV0LnR5cGUgPSBcIm51bWJlclwiO1xuICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgICB0aGlzLmlucHV0LnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuY29tcG9uZW50LmFwcGVuZENoaWxkKHRoaXMuaW5wdXQpO1xuICAgICAgdmFyIG1pbiA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfTUlOJywgcGFyYW1zKSB8fCB0aGlzLmdldE9wdGlvbignTUlOJywgcGFyYW1zKTtcbiAgICAgIHZhciBtYXggPSB0aGlzLmdldE9wdGlvbignRURJVE9SX01BWCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ01BWCcsIHBhcmFtcyk7XG4gICAgICB2YXIgc3RlcCA9IHRoaXMuZ2V0T3B0aW9uKCdFRElUT1JfU1RFUCcsIHBhcmFtcykgfHwgdGhpcy5nZXRPcHRpb24oJ1NURVAnLCBwYXJhbXMpO1xuICAgICAgaWYgKG1pbikgdGhpcy5pbnB1dC5taW4gPSBtaW47XG4gICAgICBpZiAobWF4KSB0aGlzLmlucHV0Lm1heCA9IG1heDtcbiAgICAgIGlmIChzdGVwKSB0aGlzLmlucHV0Lm1heCA9IHN0ZXA7XG4gICAgICB0aGlzLl9vbktleURvd25CaW5kID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLl9vbkNoYW5nZUJpbmQgPSB0aGlzLl9vbkNoYW5nZS5iaW5kKHRoaXMpO1xuICAgICAgdGhpcy5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duQmluZCk7XG4gICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX29uQ2hhbmdlQmluZCk7IC8vIHVwZGF0ZSBgY3VycmVudFZhbHVlYCB0aGUgdmFsdWUgd2hpY2ggdGhpcyBjb21wb25lbnQgaXMgbWFuYWdpbmdcblxuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHJlZnJlbmNlIHRvIHRoZSBjb21wb25lbnQgZWxlbWVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7SFRNTEVsZW1lbnR9XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRHdWlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0R3VpKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50O1xuICAgIH1cbiAgICAvKiogTWFrZSBzdXJlIGNvbnRhaW5lciBpcyBhbHdheXMgZm9jdXNlZCB0byBsaXN0ZW4gdG8ga2V5IGNoYW5nZXMqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiYWZ0ZXJHdWlBdHRhY2hlZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZnRlckd1aUF0dGFjaGVkKCkge1xuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0QWxsT25Gb2N1cykge1xuICAgICAgICB0aGlzLmlucHV0LnNlbGVjdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNBZnRlckF0dGFjaGVkKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c0luKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IFRoZSBjb21wb25lbnQgdmFsdWVcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59XG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRWYWx1ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICAgIHZhciBjYXN0ZWQgPSBOdW1iZXIodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgcmV0dXJuIGlzTmFOKGNhc3RlZCkgPyB0aGlzLmN1cnJlbnRWYWx1ZSA6IGNhc3RlZDtcbiAgICB9XG4gICAgLyoqIENhbGxlZCBpZiBlZGl0VHlwZSA9ICdmdWxsUm93JyAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZm9jdXNJblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb2N1c0luKCkge1xuICAgICAgdGhpcy5pbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wb25lbnQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNlbGxcbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0Jvb2xlYW59IGFsd2F5cyBmYWxzZVxuICAgICAqKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzUG9wdXBcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNQb3B1cCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyoqIHJlbW92ZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdG9yeSAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgaWYgKHRoaXMuX29uS2V5RG93bikgdGhpcy5pbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlEb3duKTtcbiAgICAgIGlmICh0aGlzLl9vbkNoYW5nZUJpbmQpIHRoaXMuaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fb25DaGFuZ2VCaW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgKiBVcGRhdGUgYGN1cnJlbnRWYWx1ZWAgd2hlbiB0aGUgY2hlY2tib3ggdmFsdWUgaXMgY2hhbmdlZFxuICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfb25DaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX29uQ2hhbmdlKHBhcmFtcykge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBNb25pdG9yIGtleXMgW3RvcCxib3R0b20sZW50ZXJdIHRvIGNoYW5nZSB0aGUgaW5wdXQgdmFsdWVcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX29uS2V5RG93blwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfb25LZXlEb3duKGV2ZW50KSB7XG4gICAgICB2YXIga2V5ID0gZXZlbnQud2hpY2ggfHwgZXZlbnQua2V5Q29kZTtcblxuICAgICAgaWYgKGtleSA9PSAzOCB8fCBrZXkgPT0gNDApIHtcbiAgICAgICAgLy8gdG9wIHwgZG93blxuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT0gMTMpIHtcbiAgICAgICAgLy8gZW50ZXJcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFZGl0b3I7XG59KF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fVXRpbGl0aWVzX1BhcmFtc19qc19fW1wiYVwiIC8qIGRlZmF1bHQgKi9dKTtcblxuXG5cbi8qKiovIH0pLFxuLyogMjMgKi8sXG4vKiAyNCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfZXhwb3NlX2xvYWRlcl9CQmpfTWFza3Nfbm9kZV9tb2R1bGVzX2Jial9tYXNrc19kaXN0X2Jial9tYXNrc19qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX2V4cG9zZV9sb2FkZXJfQkJqX01hc2tzX25vZGVfbW9kdWxlc19iYmpfbWFza3NfZGlzdF9iYmpfbWFza3NfanNfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9leHBvc2VfbG9hZGVyX0JCal9NYXNrc19ub2RlX21vZHVsZXNfYmJqX21hc2tzX2Rpc3RfYmJqX21hc2tzX2pzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjgpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9mbGF0cGlja3JfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19Cb29sZWFuc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fQm9vbGVhbnNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXyg4KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX0RhdGVUaW1lc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fRGF0ZVRpbWVzX3N0eWxlX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX0ltYWdlc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTApO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fSW1hZ2VzX3N0eWxlX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19JbWFnZXNfc3R5bGVfY3NzX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfX19kZWZhdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fTnVtYmVyc19zdHlsZV9jc3NfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyOSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fX2RlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm4oX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19ub2RlX21vZHVsZXNfZmxhdHBpY2tyX2Rpc3RfZmxhdHBpY2tyX2Nzc19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX0Jvb2xlYW5zX1JlbmRlcmVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE0KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fQm9vbGVhbnNfUmVuZGVyZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fQm9vbGVhbnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljQm9vbGVhbnNFZGl0b3JcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX0Jvb2xlYW5zX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19Cb29sZWFuc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTYpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNCb29sZWFuc0ZpbHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fQm9vbGVhbnNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19EYXRlVGltZXNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE3KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzRWRpdG9yXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fRGF0ZVRpbWVzX0VkaXRvcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fRGF0ZVRpbWVzX1ZhbHVlRm9ybWF0dGVyX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE4KTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljRGF0ZVRpbWVzVmFsdWVGb3JtYXR0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19EYXRlVGltZXNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX0RhdGVUaW1lc19GaWx0ZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMTkpO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNEYXRlVGltZXNGaWx0ZXJcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19EYXRlVGltZXNfRmlsdGVyX2pzX19bXCJhXCJdOyB9KTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19JbWFnZXNfUmVuZGVyZXJfanNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMjApO1xuLyogaGFybW9ueSByZWV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiQmFzaWNJbWFnZXNSZW5kZXJlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX0ltYWdlc19SZW5kZXJlcl9qc19fW1wiYVwiXTsgfSk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNF9fTnVtYmVyc19WYWx1ZUZvcm1hdHRlcl9qc19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygyMSk7XG4vKiBoYXJtb255IHJlZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJCYXNpY051bWJlcnNWYWx1ZUZvcm1hdHRlclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX051bWJlcnNfVmFsdWVGb3JtYXR0ZXJfanNfX1tcImFcIl07IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIyKTtcbi8qIGhhcm1vbnkgcmVleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcIkJhc2ljTnVtYmVyc0VkaXRvclwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfX051bWJlcnNfRWRpdG9yX2pzX19bXCJhXCJdOyB9KTtcbi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBhZy1naXJkLWNvbXBvbmVudHMgbGliLlxuICogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qKiovIH0pLFxuLyogMjUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCkge2lmKCFnbG9iYWxbXCJCQmpcIl0pIGdsb2JhbFtcIkJCalwiXSA9IHt9O1xubW9kdWxlLmV4cG9ydHMgPSBnbG9iYWxbXCJCQmpcIl1bXCJNYXNrc1wiXSA9IF9fd2VicGFja19yZXF1aXJlX18oMjcpO1xuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18oMjYpKSlcblxuLyoqKi8gfSksXG4vKiAyNiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG52YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8fCAoMSxldmFsKShcInRoaXNcIik7XG59IGNhdGNoKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIilcblx0XHRnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG5cblxuLyoqKi8gfSksXG4vKiAyNyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4oZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0cnVlKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiTWFza3NcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQkJqXCJdID0gcm9vdFtcIkJCalwiXSB8fCB7fSwgcm9vdFtcIkJCalwiXVtcIk1hc2tzXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbi8qKioqKiovIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4vKioqKioqLyBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuLyoqKioqKi8gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbi8qKioqKiovIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbi8qKioqKiovIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbi8qKioqKiovIFx0XHRcdH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuLyoqKioqKi8gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4vKioqKioqLyBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuLyoqKioqKi8gXHRcdHJldHVybiBnZXR0ZXI7XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAyKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG4vKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgYmJqLW1hc2tzIGxpYi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbiAqIFxuICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiAqIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuICovXG5cbi8qKiBcbiAqIERhdGVNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogZGF0ZXMgbWFza2luZyBcbiAqIFxuICogQGF1dGhvciBIeXlhbiBBYm8gRmFraGVyIDxoYWJvZmFraGVyQGJhc2lzLmNvbT5cbiovXG52YXIgRGF0ZU1hc2sgPVxuLyojX19QVVJFX18qL1xuZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBEYXRlTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRGF0ZU1hc2spO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERhdGVNYXNrLCBudWxsLCBbe1xuICAgIGtleTogXCJtYXNrXCIsXG5cbiAgICAvKiogXG4gICAgICogTWFzayBkYXRlXG4gICAgICogXG4gICAgICogTWFzayB0aGUgcGFzc2VkIGRhdGUgd2l0aCB0aGUgcGFzc2VkIG1hc2tcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgbWFzayBhcyBhIHN0cmluZ1xuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gYSBkYXRlIG1hc2tlZCB3aXRodCB0aGUgZ2l2ZW4gbWFza1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBtYXNrKGRhdGUsIF9tYXNrKSB7XG4gICAgICBpZiAoIWRhdGUpIHJldHVybjtcbiAgICAgIGlmICghX21hc2spIHJldHVybiBkYXRlO1xuXG4gICAgICB2YXIgZGF0ZURldGFpbHMgPSBEYXRlTWFzay5fcGFyc2VEYXRlKGRhdGUpO1xuXG4gICAgICB2YXIgdHJhbnNsYXRpb25zID0gRGF0ZU1hc2suX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKTtcblxuICAgICAgdmFyIHJlc3VsdCA9IF9tYXNrO1xuXG4gICAgICBmb3IgKHZhciBrIGluIHRyYW5zbGF0aW9ucykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShuZXcgUmVnRXhwKCcoJScgKyBrICsgJyknLCAnZycpLCB0cmFuc2xhdGlvbnNba10pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSB0aGUgcGFzc2VkIGRhdGUgc3RyaW5nIGFkbiByZXR1cm4gaXRzIGRldGlsYXNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZGF0ZSBkYXRlIGFzIGEgc3RyaW5nXG4gICAgICogXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcIl9wYXJzZURhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3BhcnNlRGF0ZShkYXRlKSB7XG4gICAgICB2YXIgZGF0ZU9iamVjdCA9IERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICBpZiAoIShkYXRlT2JqZWN0IGluc3RhbmNlb2YgRGF0ZSkpIGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgIHZhciBob3VyczI0ID0gZGF0ZU9iamVjdC5nZXRIb3VycygpO1xuICAgICAgdmFyIGhvdXJzMTIgPSBob3VyczI0ICUgMTIgfHwgMTI7XG5cbiAgICAgIHZhciBkYXlPZlllYXIgPSBEYXRlTWFzay5fZ2V0RGF5T2ZZZWFyKGRhdGUpOyAvLyBjb25zdCBkYXlPZldlZWsgPSBkYXRlT2JqZWN0LmdldERheSgpID9cblxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBcInllYXJcIjogZGF0ZU9iamVjdC5nZXRGdWxsWWVhcigpLFxuICAgICAgICBcIm1vbnRoXCI6IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgIFwiZGF5XCI6IGRhdGVPYmplY3QuZ2V0RGF0ZSgpLFxuICAgICAgICBcIm1pbnV0ZXNcIjogZGF0ZU9iamVjdC5nZXRNaW51dGVzKCksXG4gICAgICAgIFwic2Vjb25kc1wiOiBkYXRlT2JqZWN0LmdldFNlY29uZHMoKSxcbiAgICAgICAgXCJob3VyczI0XCI6IGhvdXJzMjQsXG4gICAgICAgIFwiaG91cnMxMlwiOiBob3VyczEyLFxuICAgICAgICBcImRheU9mWWVhclwiOiBkYXlPZlllYXIsXG4gICAgICAgIFwiZGF5T2ZXZWVrXCI6IGRhdGVPYmplY3QuZ2V0RGF5KCkgKyAxIC8vIFN1bmRheSA9IDEgaW4gQkJqIGJ1dCBTdW5kYXkgPSAwIGluIEpTXG5cbiAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdldCBhIG1hcCBvYmplY3Qgd2hpY2ggY29udGFpbnMgYWxsIHBvc3NpYmxlIGZvcm1zIG9mIG1hc2tzXG4gICAgICogXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGRhdGVEZXRhaWxzIGRhdGUgZGV0YWlscyBidWlsdCBieSBgX3BhcnNlRGF0ZWBcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJuIHtPYmplY3R9IGZvcm1zIG1hc2tzXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfYnVpbGRUcmFuc2lsYXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2J1aWxkVHJhbnNpbGF0aW9uKGRhdGVEZXRhaWxzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyB5ZWFyIFxuICAgICAgICBcIll6XCI6IGRhdGVEZXRhaWxzLnllYXIudG9TdHJpbmcoKS5zdWJzdHIoLTIpLFxuICAgICAgICBcIllzXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWWxcIjogZGF0ZURldGFpbHMueWVhcixcbiAgICAgICAgXCJZcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnllYXIpLFxuICAgICAgICBcIllkXCI6IGRhdGVEZXRhaWxzLnllYXIsXG4gICAgICAgIFwiWVwiOiBkYXRlRGV0YWlscy55ZWFyLFxuICAgICAgICAvLyBtb250aFxuICAgICAgICBcIk16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5tb250aCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLm1vbnRoIDogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXNcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTWxcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTXBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5tb250aCksXG4gICAgICAgIFwiTWRcIjogZGF0ZURldGFpbHMubW9udGgsXG4gICAgICAgIFwiTVwiOiBkYXRlRGV0YWlscy5tb250aCxcbiAgICAgICAgLy8gZGF5XG4gICAgICAgIFwiRHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmRheSkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmRheSA6IGRhdGVEZXRhaWxzLmRheSxcbiAgICAgICAgXCJEc1wiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRGxcIjogZGF0ZURldGFpbHMuZGF5LFxuICAgICAgICBcIkRwXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMuZGF5KSxcbiAgICAgICAgXCJEZFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIFwiRFwiOiBkYXRlRGV0YWlscy5kYXksXG4gICAgICAgIC8vIGhvdXIgMjRcbiAgICAgICAgXCJIelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuaG91cnMyNCkubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLmhvdXJzMjQgOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICBcIkhzXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSGxcIjogZGF0ZURldGFpbHMuaG91cnMyNCxcbiAgICAgICAgXCJIcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLmhvdXJzMjQpLFxuICAgICAgICBcIkhkXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQsXG4gICAgICAgIFwiSFwiOiBkYXRlRGV0YWlscy5ob3VyczI0LFxuICAgICAgICAvLyBob3VyIDEyXG4gICAgICAgIFwiaHpcIjogU3RyaW5nKGRhdGVEZXRhaWxzLmhvdXJzMTIpLmxlbmd0aCA9PSAxID8gXCIwXCIgKyBkYXRlRGV0YWlscy5ob3VyczEyIDogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgXCJoc1wiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhsXCI6IGRhdGVEZXRhaWxzLmhvdXJzMTIsXG4gICAgICAgIFwiaHBcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5ob3VyczEyKSxcbiAgICAgICAgXCJoZFwiOiBkYXRlRGV0YWlscy5ob3VyczEyLFxuICAgICAgICBcImhcIjogZGF0ZURldGFpbHMuaG91cnMxMixcbiAgICAgICAgLy8gbWludXRlc1xuICAgICAgICBcIm16XCI6IFN0cmluZyhkYXRlRGV0YWlscy5taW51dGVzKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMubWludXRlcyA6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIFwibXNcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtbFwiOiBkYXRlRGV0YWlscy5taW51dGVzLFxuICAgICAgICBcIm1wXCI6IFN0cmluZy5mcm9tQ2hhckNvZGUoZGF0ZURldGFpbHMubWludXRlcyksXG4gICAgICAgIFwibWRcIjogZGF0ZURldGFpbHMubWludXRlcyxcbiAgICAgICAgXCJtXCI6IGRhdGVEZXRhaWxzLm1pbnV0ZXMsXG4gICAgICAgIC8vIHNlY29uZHNcbiAgICAgICAgXCJzelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuc2Vjb25kcykubGVuZ3RoID09IDEgPyBcIjBcIiArIGRhdGVEZXRhaWxzLnNlY29uZHMgOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICBcInNzXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic2xcIjogZGF0ZURldGFpbHMuc2Vjb25kcyxcbiAgICAgICAgXCJzcFwiOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGVEZXRhaWxzLnNlY29uZHMpLFxuICAgICAgICBcInNkXCI6IGRhdGVEZXRhaWxzLnNlY29uZHMsXG4gICAgICAgIFwic1wiOiBkYXRlRGV0YWlscy5zZWNvbmRzLFxuICAgICAgICAvLyBBTSAsIFBNXG4gICAgICAgIFwiUFBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJQTVwiLFxuICAgICAgICBcIlBcIjogZGF0ZURldGFpbHMuaG91cnMyNCA+IDEyID8gXCJQTVwiIDogXCJBTVwiLFxuICAgICAgICBcInBwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgXCJwXCI6IGRhdGVEZXRhaWxzLmhvdXJzMjQgPiAxMiA/IFwicG1cIiA6IFwiYW1cIixcbiAgICAgICAgLy8gRGF5IG9mIFllYXJcbiAgICAgICAgXCJKelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZZZWFyKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZZZWFyIDogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpzXCI6IGRhdGVEZXRhaWxzLmRheU9mWWVhcixcbiAgICAgICAgXCJKbFwiOiBkYXRlRGV0YWlscy5kYXlPZlllYXIsXG4gICAgICAgIFwiSmRcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICBcIkpcIjogZGF0ZURldGFpbHMuZGF5T2ZZZWFyLFxuICAgICAgICAvLyBEYXkgT2YgV2VlayBcbiAgICAgICAgXCJXelwiOiBTdHJpbmcoZGF0ZURldGFpbHMuZGF5T2ZXZWVrKS5sZW5ndGggPT0gMSA/IFwiMFwiICsgZGF0ZURldGFpbHMuZGF5T2ZXZWVrIDogZGF0ZURldGFpbHMuZGF5T2ZXZWVrLFxuICAgICAgICBcIldzXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXbFwiOiBkYXRlRGV0YWlscy5kYXlPZldlZWssXG4gICAgICAgIFwiV3BcIjogU3RyaW5nLmZyb21DaGFyQ29kZShkYXRlRGV0YWlscy5kYXlPZldlZWspLFxuICAgICAgICBcIldkXCI6IGRhdGVEZXRhaWxzLmRheU9mV2VlayxcbiAgICAgICAgXCJXXCI6IGRhdGVEZXRhaWxzLmRheU9mV2Vla1xuICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBEYXkgbnVtYmVyIHdpdGhpbiB0aGUgeWVhciAoMS0zNjYpLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkYXRlIGRhdGUgYXMgYSBzdHJpbmdcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7TnVtYmVyfVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldERheU9mWWVhclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0RGF5T2ZZZWFyKGRhdGUpIHtcbiAgICAgIHZhciBub3cgPSBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgaWYgKCEobm93IGluc3RhbmNlb2YgRGF0ZSkpIG5vdyA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgICAgdmFyIGRpZmYgPSBub3cgLSBzdGFydCArIChzdGFydC5nZXRUaW1lem9uZU9mZnNldCgpIC0gbm93LmdldFRpbWV6b25lT2Zmc2V0KCkpICogNjAgKiAxMDAwO1xuICAgICAgdmFyIG9uZURheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgICB2YXIgZGF5ID0gTWF0aC5mbG9vcihkaWZmIC8gb25lRGF5KTtcbiAgICAgIHJldHVybiBkYXk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIERhdGVNYXNrO1xufSgpO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBEYXRlTWFzaztcblxuLyoqKi8gfSksXG4vKiAxICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJiai1tYXNrcyBsaWIuXG4gKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4gKiBcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG4vKiogXG4gKiBOdW1iZXJNYXNrXG4gKiBcbiAqIEhhbmRsZSBCQmogbnVtYmVycyBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBOdW1iZXJNYXNrID1cbi8qI19fUFVSRV9fKi9cbmZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gTnVtYmVyTWFzaygpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTnVtYmVyTWFzayk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTnVtYmVyTWFzaywgbnVsbCwgW3tcbiAgICBrZXk6IFwibWFza1wiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayB0aGUgZ2l2ZW4gbnVtYmVyIHdpdGggdGhlIGdpdmVuIG1hc2sgYWNjb3JkaW5nIHRvIEJCaiBydWxlc1xuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBudW1iZXIgdGhlIG51bWJlciB0byBmb3JtYXRcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWFzayB0aGUgbWFzayB0byB1c2UgZm9yIGZvcm1hdHRpbmdcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBtYXNrZWQgbnVtYmVyXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG1hc2sobnVtYmVyLCBfbWFzaykge1xuICAgICAgdmFyIGdyb3VwaW5nU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiAnLCc7XG4gICAgICB2YXIgZGVjaW1hbFNlcGFyYXRvciA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogJy4nO1xuICAgICAgdmFyIG1hc2tMZW5ndGggPSBfbWFzay5sZW5ndGg7XG4gICAgICBpZiAoMCA9PT0gbWFza0xlbmd0aCkgcmV0dXJuIG51bWJlcjsgLy8gR2V0IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE1BU0tcblxuICAgICAgdmFyIG1hc2tCZWZvcmVEZWNpbWFsID0gMDtcbiAgICAgIHZhciBtYXNrQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIHZhciBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXNrTGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIG0gPSBfbWFzay5jaGFyQXQoaSk7XG5cbiAgICAgICAgaWYgKG0gPT0gJzAnIHx8IG0gPT0gJyMnKSB7XG4gICAgICAgICAgaWYgKGZvdW5kRGVjaW1hbCkgKyttYXNrQWZ0ZXJEZWNpbWFsO2Vsc2UgKyttYXNrQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfSBlbHNlIGlmIChtID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIG51bSA9IE51bWJlck1hc2suX3JvdW5kKG51bWJlciwgbWFza0FmdGVyRGVjaW1hbCk7XG5cbiAgICAgIHZhciBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pOyAvLyBHZXQgbWFnbml0dWRlIGFuZCBwcmVjaXNpb24gb2YgTlVNQkVSXG5cblxuICAgICAgdmFyIG51bUxlbiA9IGRpZ2l0cy5sZW5ndGg7XG4gICAgICB2YXIgbnVtQmVmb3JlRGVjaW1hbCA9IDA7XG4gICAgICB2YXIgbnVtQWZ0ZXJEZWNpbWFsID0gMDtcbiAgICAgIGZvdW5kRGVjaW1hbCA9IGZhbHNlO1xuXG4gICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbnVtTGVuOyBfaSsrKSB7XG4gICAgICAgIGlmIChkaWdpdHNbX2ldID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSArK251bUFmdGVyRGVjaW1hbDtlbHNlICsrbnVtQmVmb3JlRGVjaW1hbDtcbiAgICAgICAgfVxuICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICBpZiAobnVtQmVmb3JlRGVjaW1hbCA+IG1hc2tCZWZvcmVEZWNpbWFsKSByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7IC8vIHJvdW5kIGlmIG1hc2sgaXMgZm9yIGEgbG93ZXIgcHJlY2lzaW9uIG51bWJlclxuXG4gICAgICBpZiAobnVtQWZ0ZXJEZWNpbWFsID4gbWFza0FmdGVyRGVjaW1hbCkge1xuICAgICAgICBudW0gPSBOdW1iZXJNYXNrLl9yb3VuZChudW0sIG1hc2tBZnRlckRlY2ltYWwpO1xuICAgICAgICBkaWdpdHMgPSBOdW1iZXJNYXNrLl90b0NoYXJBcnJheShudW0pO1xuICAgICAgICBudW1MZW4gPSBkaWdpdHMubGVuZ3RoOyAvLyBHZXQgbmV3IG1hZ25pdHVkZSBhbmQgcHJlY2lzaW9uIG9mIE5VTUJFUlxuXG4gICAgICAgIG51bUJlZm9yZURlY2ltYWwgPSAwO1xuICAgICAgICBudW1BZnRlckRlY2ltYWwgPSAwO1xuICAgICAgICBmb3VuZERlY2ltYWwgPSBmYWxzZTtcblxuICAgICAgICBmb3IgKHZhciBfaTIgPSAwOyBfaTIgPCBudW1MZW47IF9pMisrKSB7XG4gICAgICAgICAgaWYgKGRpZ2l0c1tfaTJdID09ICcuJykgZm91bmREZWNpbWFsID0gdHJ1ZTtlbHNlIHtcbiAgICAgICAgICAgIGlmIChmb3VuZERlY2ltYWwpICsrbnVtQWZ0ZXJEZWNpbWFsO2Vsc2UgKytudW1CZWZvcmVEZWNpbWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBhbHdheXMgaWdub3JlIG1hc2sgb3ZlcmZsb3dcblxuXG4gICAgICAgIGlmIChudW1CZWZvcmVEZWNpbWFsID4gbWFza0JlZm9yZURlY2ltYWwpIHtcbiAgICAgICAgICByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGlzTmVnYXRpdmUgPSBOdW1iZXJNYXNrLl9nZXRTaWduKG51bSkgPT09IC0xO1xuICAgICAgdmFyIGVtaXREZWNpbWFsID0gbnVtTGVuID4gMCB8fCBfbWFzay5pbmRleE9mKCcwJykgPj0gMDtcbiAgICAgIHZhciBmb3VuZFplcm8gPSBmYWxzZTtcbiAgICAgIHZhciBjdXJyZW5jeSA9IGZhbHNlO1xuICAgICAgdmFyIGJ1ZmZlciA9ICcnO1xuICAgICAgZm91bmREZWNpbWFsID0gZmFsc2U7XG5cbiAgICAgIGZvciAodmFyIG51bVBvcyA9IDAsIG1hc2tQb3MgPSAwOyBtYXNrUG9zIDwgbWFza0xlbmd0aDsgbWFza1BvcysrKSB7XG4gICAgICAgIHZhciBfbSA9IF9tYXNrLmNoYXJBdChtYXNrUG9zKTtcblxuICAgICAgICBzd2l0Y2ggKF9tKSB7XG4gICAgICAgICAgY2FzZSAnMCc6XG4gICAgICAgICAgICAtLW1hc2tCZWZvcmVEZWNpbWFsO1xuXG4gICAgICAgICAgICBpZiAobWFza0JlZm9yZURlY2ltYWwgPCBudW1CZWZvcmVEZWNpbWFsICYmIG51bVBvcyA8IG51bUxlbikge1xuICAgICAgICAgICAgICBidWZmZXIgKz0gZGlnaXRzW251bVBvc107XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9ICcwJztcbiAgICAgICAgICAgICAgZm91bmRaZXJvID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIC0tbWFza0JlZm9yZURlY2ltYWw7XG5cbiAgICAgICAgICAgIGlmIChtYXNrQmVmb3JlRGVjaW1hbCA8IG51bUJlZm9yZURlY2ltYWwgJiYgbnVtUG9zIDwgbnVtTGVuKSB7XG4gICAgICAgICAgICAgIGJ1ZmZlciArPSBkaWdpdHNbbnVtUG9zXTtcbiAgICAgICAgICAgICAgKytudW1Qb3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gJzAnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJywnOlxuICAgICAgICAgICAgaWYgKGZvdW5kWmVybyB8fCBudW1Qb3MgPiAwKSBidWZmZXIgKz0gZ3JvdXBpbmdTZXBhcmF0b3I7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIGNhc2UgJyknOlxuICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSBfbTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnKyc6XG4gICAgICAgICAgICBidWZmZXIgKz0gaXNOZWdhdGl2ZSA/ICctJyA6ICcrJztcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnLic6XG4gICAgICAgICAgICBpZiAoZm91bmREZWNpbWFsKSBidWZmZXIgKz0gX207ZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChlbWl0RGVjaW1hbCkgYnVmZmVyICs9IGRlY2ltYWxTZXBhcmF0b3I7XG4gICAgICAgICAgICAgIGZvdW5kRGVjaW1hbCA9IHRydWU7XG4gICAgICAgICAgICAgICsrbnVtUG9zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdDJzpcbiAgICAgICAgICAgIGlmIChtYXNrUG9zIDwgbWFza0xlbmd0aCAtIDEgJiYgX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpIGJ1ZmZlciArPSAnQ1InO1xuICAgICAgICAgICAgICArK21hc2tQb3M7XG4gICAgICAgICAgICB9IGVsc2UgYnVmZmVyICs9IF9tO1xuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgJ0QnOlxuICAgICAgICAgICAgaWYgKG1hc2tQb3MgPCBtYXNrTGVuZ3RoIC0gMSAmJiBwX21hc2suY2hhckF0KG1hc2tQb3MgKyAxKSA9PSAnUicpIHtcbiAgICAgICAgICAgICAgYnVmZmVyICs9IGlzTmVnYXRpdmUgPyBcIkNSXCIgOiBcIkRSXCI7XG4gICAgICAgICAgICAgICsrbWFza1BvcztcbiAgICAgICAgICAgIH0gZWxzZSBidWZmZXIgKz0gX207XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnQic6XG4gICAgICAgICAgICBidWZmZXIgKz0gJyAnO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnVmZmVyICs9IF9tO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3NoaWZ0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9zaGlmdChudW1iZXIsIHByZWNpc2lvbiwgcmV2ZXJzZVNoaWZ0KSB7XG4gICAgICBpZiAocmV2ZXJzZVNoaWZ0KSBwcmVjaXNpb24gPSAtcHJlY2lzaW9uO1xuICAgICAgdmFyIG51bUFycmF5ID0gKFwiXCIgKyBudW1iZXIpLnNwbGl0KFwiZVwiKTtcbiAgICAgIHJldHVybiArKG51bUFycmF5WzBdICsgXCJlXCIgKyAobnVtQXJyYXlbMV0gPyArbnVtQXJyYXlbMV0gKyBwcmVjaXNpb24gOiBwcmVjaXNpb24pKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiX3JvdW5kXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9yb3VuZChudW1iZXIsIHByZWNpc2lvbikge1xuICAgICAgcmV0dXJuIE51bWJlck1hc2suX3NoaWZ0KE1hdGgucm91bmQoTnVtYmVyTWFzay5fc2hpZnQobnVtYmVyLCBwcmVjaXNpb24sIGZhbHNlKSksIHByZWNpc2lvbiwgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIl90b0NoYXJBcnJheVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfdG9DaGFyQXJyYXkobnVtYmVyKSB7XG4gICAgICB2YXIgc2lnbnVtID0gTnVtYmVyTWFzay5fZ2V0U2lnbihudW1iZXIpO1xuXG4gICAgICB2YXIgY2hhcnMgPSBbXTtcblxuICAgICAgaWYgKHNpZ251bSAhPT0gMCkge1xuICAgICAgICB2YXIgc3RyaW5nID0gc2lnbnVtIDwgMCA/IFwiXCIuY29uY2F0KC0xICogbnVtYmVyLnRvU3RyaW5nKCkpIDogbnVtYmVyLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChzdHJpbmcubGVuZ3RoID4gMSAmJiBzdHJpbmcuY2hhckF0KDApID09ICcwJykgc3RyaW5nID0gc3RyaW5nLnN1YnN0cmluZygxKTsgLy8gVGhlIHN0cmluZyBjb250YWlucyBvbmx5IFswLTldIGFuZCAnLidcblxuICAgICAgICBjaGFycyA9IHN0cmluZy5zcGxpdCgnJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaGFycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc2lnbiBvZiBhIG51bWJlclxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSB4IG51bWJlclxuICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgc2lnbiBvZiB0aGUgZ2l2ZW4gYXJndW1lbnQuIFxuICAgICAqICAgICAgICAgICAgICAgICAgIElmIHRoZSBhcmd1bWVudCBpcyBhIHBvc2l0aXZlIG51bWJlciwgbmVnYXRpdmUgbnVtYmVyLCBwb3NpdGl2ZSB6ZXJvIFxuICAgICAqICAgICAgICAgICAgICAgICAgIG9yIG5lZ2F0aXZlIHplcm8sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiAxLCAtMSwgMCBvciAtMCByZXNwZWN0aXZlbHkuXG4gICAgICogICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlLCBOYU4gaXMgcmV0dXJuZWQuXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJfZ2V0U2lnblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0U2lnbih4KSB7XG4gICAgICByZXR1cm4gKHggPiAwKSAtICh4IDwgMCkgfHwgK3g7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIE51bWJlck1hc2s7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IE51bWJlck1hc2s7XG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGF0ZU1hc2tcIiwge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gX0RhdGVNYXNrLmRlZmF1bHQ7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTnVtYmVyTWFza1wiLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfTnVtYmVyTWFzay5kZWZhdWx0O1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlR5cGVzXCIsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9UeXBlcy5kZWZhdWx0O1xuICB9XG59KTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbnZhciBfTnVtYmVyTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygxKSk7XG5cbnZhciBfVHlwZXMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9fd2VicGFja19yZXF1aXJlX18oMykpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vKioqLyB9KSxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9OdW1iZXJNYXNrID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfX3dlYnBhY2tfcmVxdWlyZV9fKDEpKTtcblxudmFyIF9EYXRlTWFzayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX193ZWJwYWNrX3JlcXVpcmVfXygwKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuLyoqIFxuICogVHlwZXNcbiAqIFxuICogSGFuZGxlIEJCaiBtYXNraW5nIFxuICogXG4gKiBAYXV0aG9yIEh5eWFuIEFibyBGYWtoZXIgPGhhYm9mYWtoZXJAYmFzaXMuY29tPlxuKi9cbnZhciBUeXBlcyA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFR5cGVzKCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUeXBlcyk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoVHlwZXMsIG51bGwsIFt7XG4gICAga2V5OiBcIm51bWJlclwiLFxuXG4gICAgLyoqXG4gICAgICogTWFzayBhIG51bWJlciBhY2NvcmRpbmcgdG8gYmJqIG1hc2tpbmcgcnVsZXMgXG4gICAgICogXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG51bWJlciB0aGUgbnVtYmVyIHRvIGZvcm1hdFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtYXNrIHRoZSBtYXNrIHRvIHVzZSBcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZ3JvdXBpbmdTZXBhcmF0b3IgYSBjaGFyIHdoaWNoIHdpbGwgYmUgdXNlZCBhcyBhIGdyb3VwaW5nIHNlcGFyYXRvclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkZWNpbWFsU2VwYXJhdG9yIGEgY2hhciB3aGljaCB3aWxsIGJlIHVzZWQgYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG51bWJlcihfbnVtYmVyLCBtYXNrKSB7XG4gICAgICB2YXIgZ3JvdXBpbmdTZXBhcmF0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6ICcsJztcbiAgICAgIHZhciBkZWNpbWFsU2VwYXJhdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiAnLic7XG4gICAgICByZXR1cm4gX051bWJlck1hc2suZGVmYXVsdC5tYXNrKF9udW1iZXIsIG1hc2ssIGdyb3VwaW5nU2VwYXJhdG9yLCBkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWFzayBhIGRhdGUgYWNjb3JkaW5nIHRvIGJiaiBtYXNraW5nIHJ1bGVzIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBudW1iZXIgdGhlIGRhdGUgdG8gZm9ybWF0XG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1hc2sgdGhlIG1hc2sgdG8gdXNlIFxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge1N0cmluZ30gbnVtYmVyIG1hc2tlZCB3aXRoIHRoZSBnaXZlbiBtYXNrXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJkYXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRhdGUoX2RhdGUsIG1hc2spIHtcbiAgICAgIHJldHVybiBfRGF0ZU1hc2suZGVmYXVsdC5tYXNrKF9kYXRlLCBtYXNrKTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gVHlwZXM7XG59KCk7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IFR5cGVzO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJiai1tYXNrcy5qcy5tYXBcblxuLyoqKi8gfSksXG4vKiAyOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG4vKiBmbGF0cGlja3IgdjQuNS4wLCBAbGljZW5zZSBNSVQgKi9cbihmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7XG4gICAgIHRydWUgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6XG4gICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDpcbiAgICAoZ2xvYmFsLmZsYXRwaWNrciA9IGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAgIHZhciBwYWQgPSBmdW5jdGlvbiBwYWQobnVtYmVyKSB7XG4gICAgICByZXR1cm4gKFwiMFwiICsgbnVtYmVyKS5zbGljZSgtMik7XG4gICAgfTtcbiAgICB2YXIgaW50ID0gZnVuY3Rpb24gaW50KGJvb2wpIHtcbiAgICAgIHJldHVybiBib29sID09PSB0cnVlID8gMSA6IDA7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHtcbiAgICAgIGlmIChpbW1lZGlhdGUgPT09IHZvaWQgMCkge1xuICAgICAgICBpbW1lZGlhdGUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHRpbWVvdXQ7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsXG4gICAgICAgICAgICBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICB0aW1lb3V0ICE9PSBudWxsICYmIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfSwgd2FpdCk7XG4gICAgICAgIGlmIChpbW1lZGlhdGUgJiYgIXRpbWVvdXQpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICB9O1xuICAgIH1cbiAgICB2YXIgYXJyYXlpZnkgPSBmdW5jdGlvbiBhcnJheWlmeShvYmopIHtcbiAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBBcnJheSA/IG9iaiA6IFtvYmpdO1xuICAgIH07XG5cbiAgICB2YXIgZG9fbm90aGluZyA9IGZ1bmN0aW9uIGRvX25vdGhpbmcoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICB2YXIgbW9udGhUb1N0ciA9IGZ1bmN0aW9uIG1vbnRoVG9TdHIobW9udGhOdW1iZXIsIHNob3J0aGFuZCwgbG9jYWxlKSB7XG4gICAgICByZXR1cm4gbG9jYWxlLm1vbnRoc1tzaG9ydGhhbmQgPyBcInNob3J0aGFuZFwiIDogXCJsb25naGFuZFwiXVttb250aE51bWJlcl07XG4gICAgfTtcbiAgICB2YXIgcmV2Rm9ybWF0ID0ge1xuICAgICAgRDogZG9fbm90aGluZyxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZU9iaiwgbW9udGhOYW1lLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLmxvbmdoYW5kLmluZGV4T2YobW9udGhOYW1lKSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlT2JqLCBob3VyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0SG91cnMocGFyc2VGbG9hdChob3VyKSk7XG4gICAgICB9LFxuICAgICAgSjogZnVuY3Rpb24gSihkYXRlT2JqLCBkYXkpIHtcbiAgICAgICAgZGF0ZU9iai5zZXREYXRlKHBhcnNlRmxvYXQoZGF5KSk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlT2JqLCBhbVBNLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhkYXRlT2JqLmdldEhvdXJzKCkgJSAxMiArIDEyICogaW50KG5ldyBSZWdFeHAobG9jYWxlLmFtUE1bMV0sIFwiaVwiKS50ZXN0KGFtUE0pKSk7XG4gICAgICB9LFxuICAgICAgTTogZnVuY3Rpb24gTShkYXRlT2JqLCBzaG9ydE1vbnRoLCBsb2NhbGUpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNb250aChsb2NhbGUubW9udGhzLnNob3J0aGFuZC5pbmRleE9mKHNob3J0TW9udGgpKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIFU6IGZ1bmN0aW9uIFUoXywgdW5peFNlY29uZHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHBhcnNlRmxvYXQodW5peFNlY29uZHMpICogMTAwMCk7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlT2JqLCB3ZWVrTnVtKSB7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVyID0gcGFyc2VJbnQod2Vla051bSk7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlT2JqLmdldEZ1bGxZZWFyKCksIDAsIDIgKyAod2Vla051bWJlciAtIDEpICogNywgMCwgMCwgMCwgMCk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlT2JqLCB5ZWFyKSB7XG4gICAgICAgIGRhdGVPYmouc2V0RnVsbFllYXIocGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9LFxuICAgICAgWjogZnVuY3Rpb24gWihfLCBJU09EYXRlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShJU09EYXRlKTtcbiAgICAgIH0sXG4gICAgICBkOiBmdW5jdGlvbiBkKGRhdGVPYmosIGRheSkge1xuICAgICAgICBkYXRlT2JqLnNldERhdGUocGFyc2VGbG9hdChkYXkpKTtcbiAgICAgIH0sXG4gICAgICBoOiBmdW5jdGlvbiBoKGRhdGVPYmosIGhvdXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRIb3VycyhwYXJzZUZsb2F0KGhvdXIpKTtcbiAgICAgIH0sXG4gICAgICBpOiBmdW5jdGlvbiBpKGRhdGVPYmosIG1pbnV0ZXMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRNaW51dGVzKHBhcnNlRmxvYXQobWludXRlcykpO1xuICAgICAgfSxcbiAgICAgIGo6IGZ1bmN0aW9uIGooZGF0ZU9iaiwgZGF5KSB7XG4gICAgICAgIGRhdGVPYmouc2V0RGF0ZShwYXJzZUZsb2F0KGRheSkpO1xuICAgICAgfSxcbiAgICAgIGw6IGRvX25vdGhpbmcsXG4gICAgICBtOiBmdW5jdGlvbiBtKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBuOiBmdW5jdGlvbiBuKGRhdGVPYmosIG1vbnRoKSB7XG4gICAgICAgIGRhdGVPYmouc2V0TW9udGgocGFyc2VGbG9hdChtb250aCkgLSAxKTtcbiAgICAgIH0sXG4gICAgICBzOiBmdW5jdGlvbiBzKGRhdGVPYmosIHNlY29uZHMpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRTZWNvbmRzKHBhcnNlRmxvYXQoc2Vjb25kcykpO1xuICAgICAgfSxcbiAgICAgIHc6IGRvX25vdGhpbmcsXG4gICAgICB5OiBmdW5jdGlvbiB5KGRhdGVPYmosIHllYXIpIHtcbiAgICAgICAgZGF0ZU9iai5zZXRGdWxsWWVhcigyMDAwICsgcGFyc2VGbG9hdCh5ZWFyKSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgdG9rZW5SZWdleCA9IHtcbiAgICAgIEQ6IFwiKFxcXFx3KylcIixcbiAgICAgIEY6IFwiKFxcXFx3KylcIixcbiAgICAgIEc6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBIOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgSjogXCIoXFxcXGRcXFxcZHxcXFxcZClcXFxcdytcIixcbiAgICAgIEs6IFwiXCIsXG4gICAgICBNOiBcIihcXFxcdyspXCIsXG4gICAgICBTOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgVTogXCIoLispXCIsXG4gICAgICBXOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgWTogXCIoXFxcXGR7NH0pXCIsXG4gICAgICBaOiBcIiguKylcIixcbiAgICAgIGQ6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBoOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgaTogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIGo6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICBsOiBcIihcXFxcdyspXCIsXG4gICAgICBtOiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgbjogXCIoXFxcXGRcXFxcZHxcXFxcZClcIixcbiAgICAgIHM6IFwiKFxcXFxkXFxcXGR8XFxcXGQpXCIsXG4gICAgICB3OiBcIihcXFxcZFxcXFxkfFxcXFxkKVwiLFxuICAgICAgeTogXCIoXFxcXGR7Mn0pXCJcbiAgICB9O1xuICAgIHZhciBmb3JtYXRzID0ge1xuICAgICAgWjogZnVuY3Rpb24gWihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9LFxuICAgICAgRDogZnVuY3Rpb24gRChkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5cy5zaG9ydGhhbmRbZm9ybWF0cy53KGRhdGUsIGxvY2FsZSwgb3B0aW9ucyldO1xuICAgICAgfSxcbiAgICAgIEY6IGZ1bmN0aW9uIEYoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGZvcm1hdHMubihkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIC0gMSwgZmFsc2UsIGxvY2FsZSk7XG4gICAgICB9LFxuICAgICAgRzogZnVuY3Rpb24gRyhkYXRlLCBsb2NhbGUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHBhZChmb3JtYXRzLmgoZGF0ZSwgbG9jYWxlLCBvcHRpb25zKSk7XG4gICAgICB9LFxuICAgICAgSDogZnVuY3Rpb24gSChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRIb3VycygpKTtcbiAgICAgIH0sXG4gICAgICBKOiBmdW5jdGlvbiBKKGRhdGUsIGxvY2FsZSkge1xuICAgICAgICByZXR1cm4gbG9jYWxlLm9yZGluYWwgIT09IHVuZGVmaW5lZCA/IGRhdGUuZ2V0RGF0ZSgpICsgbG9jYWxlLm9yZGluYWwoZGF0ZS5nZXREYXRlKCkpIDogZGF0ZS5nZXREYXRlKCk7XG4gICAgICB9LFxuICAgICAgSzogZnVuY3Rpb24gSyhkYXRlLCBsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZS5hbVBNW2ludChkYXRlLmdldEhvdXJzKCkgPiAxMSldO1xuICAgICAgfSxcbiAgICAgIE06IGZ1bmN0aW9uIE0oZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBtb250aFRvU3RyKGRhdGUuZ2V0TW9udGgoKSwgdHJ1ZSwgbG9jYWxlKTtcbiAgICAgIH0sXG4gICAgICBTOiBmdW5jdGlvbiBTKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHBhZChkYXRlLmdldFNlY29uZHMoKSk7XG4gICAgICB9LFxuICAgICAgVTogZnVuY3Rpb24gVShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgICB9LFxuICAgICAgVzogZnVuY3Rpb24gVyhkYXRlLCBfLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmdldFdlZWsoZGF0ZSk7XG4gICAgICB9LFxuICAgICAgWTogZnVuY3Rpb24gWShkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICB9LFxuICAgICAgZDogZnVuY3Rpb24gZChkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXREYXRlKCkpO1xuICAgICAgfSxcbiAgICAgIGg6IGZ1bmN0aW9uIGgoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpICUgMTIgPyBkYXRlLmdldEhvdXJzKCkgJSAxMiA6IDEyO1xuICAgICAgfSxcbiAgICAgIGk6IGZ1bmN0aW9uIGkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gcGFkKGRhdGUuZ2V0TWludXRlcygpKTtcbiAgICAgIH0sXG4gICAgICBqOiBmdW5jdGlvbiBqKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpO1xuICAgICAgfSxcbiAgICAgIGw6IGZ1bmN0aW9uIGwoZGF0ZSwgbG9jYWxlKSB7XG4gICAgICAgIHJldHVybiBsb2NhbGUud2Vla2RheXMubG9uZ2hhbmRbZGF0ZS5nZXREYXkoKV07XG4gICAgICB9LFxuICAgICAgbTogZnVuY3Rpb24gbShkYXRlKSB7XG4gICAgICAgIHJldHVybiBwYWQoZGF0ZS5nZXRNb250aCgpICsgMSk7XG4gICAgICB9LFxuICAgICAgbjogZnVuY3Rpb24gbihkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgICAgfSxcbiAgICAgIHM6IGZ1bmN0aW9uIHMoZGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5nZXRTZWNvbmRzKCk7XG4gICAgICB9LFxuICAgICAgdzogZnVuY3Rpb24gdyhkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmdldERheSgpO1xuICAgICAgfSxcbiAgICAgIHk6IGZ1bmN0aW9uIHkoZGF0ZSkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKGRhdGUuZ2V0RnVsbFllYXIoKSkuc3Vic3RyaW5nKDIpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgZW5nbGlzaCA9IHtcbiAgICAgIHdlZWtkYXlzOiB7XG4gICAgICAgIHNob3J0aGFuZDogW1wiU3VuXCIsIFwiTW9uXCIsIFwiVHVlXCIsIFwiV2VkXCIsIFwiVGh1XCIsIFwiRnJpXCIsIFwiU2F0XCJdLFxuICAgICAgICBsb25naGFuZDogW1wiU3VuZGF5XCIsIFwiTW9uZGF5XCIsIFwiVHVlc2RheVwiLCBcIldlZG5lc2RheVwiLCBcIlRodXJzZGF5XCIsIFwiRnJpZGF5XCIsIFwiU2F0dXJkYXlcIl1cbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgc2hvcnRoYW5kOiBbXCJKYW5cIiwgXCJGZWJcIiwgXCJNYXJcIiwgXCJBcHJcIiwgXCJNYXlcIiwgXCJKdW5cIiwgXCJKdWxcIiwgXCJBdWdcIiwgXCJTZXBcIiwgXCJPY3RcIiwgXCJOb3ZcIiwgXCJEZWNcIl0sXG4gICAgICAgIGxvbmdoYW5kOiBbXCJKYW51YXJ5XCIsIFwiRmVicnVhcnlcIiwgXCJNYXJjaFwiLCBcIkFwcmlsXCIsIFwiTWF5XCIsIFwiSnVuZVwiLCBcIkp1bHlcIiwgXCJBdWd1c3RcIiwgXCJTZXB0ZW1iZXJcIiwgXCJPY3RvYmVyXCIsIFwiTm92ZW1iZXJcIiwgXCJEZWNlbWJlclwiXVxuICAgICAgfSxcbiAgICAgIGRheXNJbk1vbnRoOiBbMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0sXG4gICAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICAgIG9yZGluYWw6IGZ1bmN0aW9uIG9yZGluYWwobnRoKSB7XG4gICAgICAgIHZhciBzID0gbnRoICUgMTAwO1xuICAgICAgICBpZiAocyA+IDMgJiYgcyA8IDIxKSByZXR1cm4gXCJ0aFwiO1xuXG4gICAgICAgIHN3aXRjaCAocyAlIDEwKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgcmV0dXJuIFwic3RcIjtcblxuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIHJldHVybiBcIm5kXCI7XG5cbiAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICByZXR1cm4gXCJyZFwiO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBcInRoXCI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByYW5nZVNlcGFyYXRvcjogXCIgdG8gXCIsXG4gICAgICB3ZWVrQWJicmV2aWF0aW9uOiBcIldrXCIsXG4gICAgICBzY3JvbGxUaXRsZTogXCJTY3JvbGwgdG8gaW5jcmVtZW50XCIsXG4gICAgICB0b2dnbGVUaXRsZTogXCJDbGljayB0byB0b2dnbGVcIixcbiAgICAgIGFtUE06IFtcIkFNXCIsIFwiUE1cIl0sXG4gICAgICB5ZWFyQXJpYUxhYmVsOiBcIlllYXJcIlxuICAgIH07XG5cbiAgICB2YXIgY3JlYXRlRGF0ZUZvcm1hdHRlciA9IGZ1bmN0aW9uIGNyZWF0ZURhdGVGb3JtYXR0ZXIoX3JlZikge1xuICAgICAgdmFyIF9yZWYkY29uZmlnID0gX3JlZi5jb25maWcsXG4gICAgICAgICAgY29uZmlnID0gX3JlZiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZiRjb25maWcsXG4gICAgICAgICAgX3JlZiRsMTBuID0gX3JlZi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmJGwxMG4gPT09IHZvaWQgMCA/IGVuZ2xpc2ggOiBfcmVmJGwxMG47XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGVPYmosIGZybXQsIG92ZXJyaWRlTG9jYWxlKSB7XG4gICAgICAgIGlmIChjb25maWcuZm9ybWF0RGF0ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gY29uZmlnLmZvcm1hdERhdGUoZGF0ZU9iaiwgZnJtdCk7XG4gICAgICAgIHZhciBsb2NhbGUgPSBvdmVycmlkZUxvY2FsZSB8fCBsMTBuO1xuICAgICAgICByZXR1cm4gZnJtdC5zcGxpdChcIlwiKS5tYXAoZnVuY3Rpb24gKGMsIGksIGFycikge1xuICAgICAgICAgIHJldHVybiBmb3JtYXRzW2NdICYmIGFycltpIC0gMV0gIT09IFwiXFxcXFwiID8gZm9ybWF0c1tjXShkYXRlT2JqLCBsb2NhbGUsIGNvbmZpZykgOiBjICE9PSBcIlxcXFxcIiA/IGMgOiBcIlwiO1xuICAgICAgICB9KS5qb2luKFwiXCIpO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHZhciBjcmVhdGVEYXRlUGFyc2VyID0gZnVuY3Rpb24gY3JlYXRlRGF0ZVBhcnNlcihfcmVmMikge1xuICAgICAgdmFyIF9yZWYyJGNvbmZpZyA9IF9yZWYyLmNvbmZpZyxcbiAgICAgICAgICBjb25maWcgPSBfcmVmMiRjb25maWcgPT09IHZvaWQgMCA/IGRlZmF1bHRzIDogX3JlZjIkY29uZmlnLFxuICAgICAgICAgIF9yZWYyJGwxMG4gPSBfcmVmMi5sMTBuLFxuICAgICAgICAgIGwxMG4gPSBfcmVmMiRsMTBuID09PSB2b2lkIDAgPyBlbmdsaXNoIDogX3JlZjIkbDEwbjtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoZGF0ZSwgZ2l2ZW5Gb3JtYXQsIHRpbWVsZXNzKSB7XG4gICAgICAgIGlmIChkYXRlICE9PSAwICYmICFkYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB2YXIgcGFyc2VkRGF0ZTtcbiAgICAgICAgdmFyIGRhdGVfb3JpZyA9IGRhdGU7XG4gICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtlbHNlIGlmICh0eXBlb2YgZGF0ZSAhPT0gXCJzdHJpbmdcIiAmJiBkYXRlLnRvRml4ZWQgIT09IHVuZGVmaW5lZCkgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO2Vsc2UgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgdmFyIGZvcm1hdCA9IGdpdmVuRm9ybWF0IHx8IChjb25maWcgfHwgZGVmYXVsdHMpLmRhdGVGb3JtYXQ7XG4gICAgICAgICAgdmFyIGRhdGVzdHIgPSBTdHJpbmcoZGF0ZSkudHJpbSgpO1xuXG4gICAgICAgICAgaWYgKGRhdGVzdHIgPT09IFwidG9kYXlcIikge1xuICAgICAgICAgICAgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB0aW1lbGVzcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgvWiQvLnRlc3QoZGF0ZXN0cikgfHwgL0dNVCQvLnRlc3QoZGF0ZXN0cikpIHBhcnNlZERhdGUgPSBuZXcgRGF0ZShkYXRlKTtlbHNlIGlmIChjb25maWcgJiYgY29uZmlnLnBhcnNlRGF0ZSkgcGFyc2VkRGF0ZSA9IGNvbmZpZy5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlZERhdGUgPSAhY29uZmlnIHx8ICFjb25maWcubm9DYWxlbmRhciA/IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSwgMCwgMSwgMCwgMCwgMCwgMCkgOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldEhvdXJzKDAsIDAsIDAsIDApKTtcbiAgICAgICAgICAgIHZhciBtYXRjaGVkLFxuICAgICAgICAgICAgICAgIG9wcyA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbWF0Y2hJbmRleCA9IDAsIHJlZ2V4U3RyID0gXCJcIjsgaSA8IGZvcm1hdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICB2YXIgdG9rZW4gPSBmb3JtYXRbaV07XG4gICAgICAgICAgICAgIHZhciBpc0JhY2tTbGFzaCA9IHRva2VuID09PSBcIlxcXFxcIjtcbiAgICAgICAgICAgICAgdmFyIGVzY2FwZWQgPSBmb3JtYXRbaSAtIDFdID09PSBcIlxcXFxcIiB8fCBpc0JhY2tTbGFzaDtcblxuICAgICAgICAgICAgICBpZiAodG9rZW5SZWdleFt0b2tlbl0gJiYgIWVzY2FwZWQpIHtcbiAgICAgICAgICAgICAgICByZWdleFN0ciArPSB0b2tlblJlZ2V4W3Rva2VuXTtcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyKS5leGVjKGRhdGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoICYmIChtYXRjaGVkID0gdHJ1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIG9wc1t0b2tlbiAhPT0gXCJZXCIgPyBcInB1c2hcIiA6IFwidW5zaGlmdFwiXSh7XG4gICAgICAgICAgICAgICAgICAgIGZuOiByZXZGb3JtYXRbdG9rZW5dLFxuICAgICAgICAgICAgICAgICAgICB2YWw6IG1hdGNoWysrbWF0Y2hJbmRleF1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNCYWNrU2xhc2gpIHJlZ2V4U3RyICs9IFwiLlwiO1xuXG4gICAgICAgICAgICAgIG9wcy5mb3JFYWNoKGZ1bmN0aW9uIChfcmVmMykge1xuICAgICAgICAgICAgICAgIHZhciBmbiA9IF9yZWYzLmZuLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPSBfcmVmMy52YWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZERhdGUgPSBmbihwYXJzZWREYXRlLCB2YWwsIGwxMG4pIHx8IHBhcnNlZERhdGU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXJzZWREYXRlID0gbWF0Y2hlZCA/IHBhcnNlZERhdGUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEocGFyc2VkRGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHBhcnNlZERhdGUuZ2V0VGltZSgpKSkpIHtcbiAgICAgICAgICBjb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcIkludmFsaWQgZGF0ZSBwcm92aWRlZDogXCIgKyBkYXRlX29yaWcpKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRpbWVsZXNzID09PSB0cnVlKSBwYXJzZWREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICByZXR1cm4gcGFyc2VkRGF0ZTtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjb21wYXJlRGF0ZXMoZGF0ZTEsIGRhdGUyLCB0aW1lbGVzcykge1xuICAgICAgaWYgKHRpbWVsZXNzID09PSB2b2lkIDApIHtcbiAgICAgICAgdGltZWxlc3MgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGltZWxlc3MgIT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlMS5nZXRUaW1lKCkpLnNldEhvdXJzKDAsIDAsIDAsIDApIC0gbmV3IERhdGUoZGF0ZTIuZ2V0VGltZSgpKS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGRhdGUxLmdldFRpbWUoKSAtIGRhdGUyLmdldFRpbWUoKTtcbiAgICB9XG4gICAgdmFyIGdldFdlZWsgPSBmdW5jdGlvbiBnZXRXZWVrKGdpdmVuRGF0ZSkge1xuICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShnaXZlbkRhdGUuZ2V0VGltZSgpKTtcbiAgICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAzIC0gKGRhdGUuZ2V0RGF5KCkgKyA2KSAlIDcpO1xuICAgICAgdmFyIHdlZWsxID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCA0KTtcbiAgICAgIHJldHVybiAxICsgTWF0aC5yb3VuZCgoKGRhdGUuZ2V0VGltZSgpIC0gd2VlazEuZ2V0VGltZSgpKSAvIDg2NDAwMDAwIC0gMyArICh3ZWVrMS5nZXREYXkoKSArIDYpICUgNykgLyA3KTtcbiAgICB9O1xuICAgIHZhciBpc0JldHdlZW4gPSBmdW5jdGlvbiBpc0JldHdlZW4odHMsIHRzMSwgdHMyKSB7XG4gICAgICByZXR1cm4gdHMgPiBNYXRoLm1pbih0czEsIHRzMikgJiYgdHMgPCBNYXRoLm1heCh0czEsIHRzMik7XG4gICAgfTtcbiAgICB2YXIgZHVyYXRpb24gPSB7XG4gICAgICBEQVk6IDg2NDAwMDAwXG4gICAgfTtcblxuICAgIHZhciBkZWZhdWx0cyA9IHtcbiAgICAgIF9kaXNhYmxlOiBbXSxcbiAgICAgIF9lbmFibGU6IFtdLFxuICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICBhbHRGb3JtYXQ6IFwiRiBqLCBZXCIsXG4gICAgICBhbHRJbnB1dDogZmFsc2UsXG4gICAgICBhbHRJbnB1dENsYXNzOiBcImZvcm0tY29udHJvbCBpbnB1dFwiLFxuICAgICAgYW5pbWF0ZTogdHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIiAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiTVNJRVwiKSA9PT0gLTEsXG4gICAgICBhcmlhRGF0ZUZvcm1hdDogXCJGIGosIFlcIixcbiAgICAgIGNsaWNrT3BlbnM6IHRydWUsXG4gICAgICBjbG9zZU9uU2VsZWN0OiB0cnVlLFxuICAgICAgY29uanVuY3Rpb246IFwiLCBcIixcbiAgICAgIGRhdGVGb3JtYXQ6IFwiWS1tLWRcIixcbiAgICAgIGRlZmF1bHRIb3VyOiAxMixcbiAgICAgIGRlZmF1bHRNaW51dGU6IDAsXG4gICAgICBkZWZhdWx0U2Vjb25kczogMCxcbiAgICAgIGRpc2FibGU6IFtdLFxuICAgICAgZGlzYWJsZU1vYmlsZTogZmFsc2UsXG4gICAgICBlbmFibGU6IFtdLFxuICAgICAgZW5hYmxlU2Vjb25kczogZmFsc2UsXG4gICAgICBlbmFibGVUaW1lOiBmYWxzZSxcbiAgICAgIGVycm9ySGFuZGxlcjogZnVuY3Rpb24gZXJyb3JIYW5kbGVyKGVycikge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGNvbnNvbGUgIT09IFwidW5kZWZpbmVkXCIgJiYgY29uc29sZS53YXJuKGVycik7XG4gICAgICB9LFxuICAgICAgZ2V0V2VlazogZ2V0V2VlayxcbiAgICAgIGhvdXJJbmNyZW1lbnQ6IDEsXG4gICAgICBpZ25vcmVkRm9jdXNFbGVtZW50czogW10sXG4gICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgbG9jYWxlOiBcImRlZmF1bHRcIixcbiAgICAgIG1pbnV0ZUluY3JlbWVudDogNSxcbiAgICAgIG1vZGU6IFwic2luZ2xlXCIsXG4gICAgICBuZXh0QXJyb3c6IFwiPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHZpZXdCb3g9JzAgMCAxNyAxNyc+PGc+PC9nPjxwYXRoIGQ9J00xMy4yMDcgOC40NzJsLTcuODU0IDcuODU0LTAuNzA3LTAuNzA3IDcuMTQ2LTcuMTQ2LTcuMTQ2LTcuMTQ4IDAuNzA3LTAuNzA3IDcuODU0IDcuODU0eicgLz48L3N2Zz5cIixcbiAgICAgIG5vQ2FsZW5kYXI6IGZhbHNlLFxuICAgICAgbm93OiBuZXcgRGF0ZSgpLFxuICAgICAgb25DaGFuZ2U6IFtdLFxuICAgICAgb25DbG9zZTogW10sXG4gICAgICBvbkRheUNyZWF0ZTogW10sXG4gICAgICBvbkRlc3Ryb3k6IFtdLFxuICAgICAgb25LZXlEb3duOiBbXSxcbiAgICAgIG9uTW9udGhDaGFuZ2U6IFtdLFxuICAgICAgb25PcGVuOiBbXSxcbiAgICAgIG9uUGFyc2VDb25maWc6IFtdLFxuICAgICAgb25SZWFkeTogW10sXG4gICAgICBvblZhbHVlVXBkYXRlOiBbXSxcbiAgICAgIG9uWWVhckNoYW5nZTogW10sXG4gICAgICBvblByZUNhbGVuZGFyUG9zaXRpb246IFtdLFxuICAgICAgcGx1Z2luczogW10sXG4gICAgICBwb3NpdGlvbjogXCJhdXRvXCIsXG4gICAgICBwb3NpdGlvbkVsZW1lbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZBcnJvdzogXCI8c3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgdmlld0JveD0nMCAwIDE3IDE3Jz48Zz48L2c+PHBhdGggZD0nTTUuMjA3IDguNDcxbDcuMTQ2IDcuMTQ3LTAuNzA3IDAuNzA3LTcuODUzLTcuODU0IDcuODU0LTcuODUzIDAuNzA3IDAuNzA3LTcuMTQ3IDcuMTQ2eicgLz48L3N2Zz5cIixcbiAgICAgIHNob3J0aGFuZEN1cnJlbnRNb250aDogZmFsc2UsXG4gICAgICBzaG93TW9udGhzOiAxLFxuICAgICAgc3RhdGljOiBmYWxzZSxcbiAgICAgIHRpbWVfMjRocjogZmFsc2UsXG4gICAgICB3ZWVrTnVtYmVyczogZmFsc2UsXG4gICAgICB3cmFwOiBmYWxzZVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiB0b2dnbGVDbGFzcyhlbGVtLCBjbGFzc05hbWUsIGJvb2wpIHtcbiAgICAgIGlmIChib29sID09PSB0cnVlKSByZXR1cm4gZWxlbS5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWcsIGNsYXNzTmFtZSwgY29udGVudCkge1xuICAgICAgdmFyIGUgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lIHx8IFwiXCI7XG4gICAgICBjb250ZW50ID0gY29udGVudCB8fCBcIlwiO1xuICAgICAgZS5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSBlLnRleHRDb250ZW50ID0gY29udGVudDtcbiAgICAgIHJldHVybiBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjbGVhck5vZGUobm9kZSkge1xuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLnJlbW92ZUNoaWxkKG5vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpbmRQYXJlbnQobm9kZSwgY29uZGl0aW9uKSB7XG4gICAgICBpZiAoY29uZGl0aW9uKG5vZGUpKSByZXR1cm4gbm9kZTtlbHNlIGlmIChub2RlLnBhcmVudE5vZGUpIHJldHVybiBmaW5kUGFyZW50KG5vZGUucGFyZW50Tm9kZSwgY29uZGl0aW9uKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZU51bWJlcklucHV0KGlucHV0Q2xhc3NOYW1lLCBvcHRzKSB7XG4gICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJudW1JbnB1dFdyYXBwZXJcIiksXG4gICAgICAgICAgbnVtSW5wdXQgPSBjcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwgXCJudW1JbnB1dCBcIiArIGlucHV0Q2xhc3NOYW1lKSxcbiAgICAgICAgICBhcnJvd1VwID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJhcnJvd1VwXCIpLFxuICAgICAgICAgIGFycm93RG93biA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiYXJyb3dEb3duXCIpO1xuICAgICAgbnVtSW5wdXQudHlwZSA9IFwidGV4dFwiO1xuICAgICAgbnVtSW5wdXQucGF0dGVybiA9IFwiXFxcXGQqXCI7XG4gICAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSBmb3IgKHZhciBrZXkgaW4gb3B0cykge1xuICAgICAgICBudW1JbnB1dC5zZXRBdHRyaWJ1dGUoa2V5LCBvcHRzW2tleV0pO1xuICAgICAgfVxuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChudW1JbnB1dCk7XG4gICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGFycm93VXApO1xuICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChhcnJvd0Rvd24pO1xuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBPYmplY3QuYXNzaWduICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24gPSBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgdGhyb3cgVHlwZUVycm9yKFwiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoKSB7XG4gICAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3NbX2ldO1xuXG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3MubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgX2xvb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBERUJPVU5DRURfQ0hBTkdFX01TID0gMzAwO1xuXG4gICAgZnVuY3Rpb24gRmxhdHBpY2tySW5zdGFuY2UoZWxlbWVudCwgaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHZhciBzZWxmID0ge1xuICAgICAgICBjb25maWc6IE9iamVjdC5hc3NpZ24oe30sIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnKSxcbiAgICAgICAgbDEwbjogZW5nbGlzaFxuICAgICAgfTtcbiAgICAgIHNlbGYucGFyc2VEYXRlID0gY3JlYXRlRGF0ZVBhcnNlcih7XG4gICAgICAgIGNvbmZpZzogc2VsZi5jb25maWcsXG4gICAgICAgIGwxMG46IHNlbGYubDEwblxuICAgICAgfSk7XG4gICAgICBzZWxmLl9oYW5kbGVycyA9IFtdO1xuICAgICAgc2VsZi5fYmluZCA9IGJpbmQ7XG4gICAgICBzZWxmLl9zZXRIb3Vyc0Zyb21EYXRlID0gc2V0SG91cnNGcm9tRGF0ZTtcbiAgICAgIHNlbGYuX3Bvc2l0aW9uQ2FsZW5kYXIgPSBwb3NpdGlvbkNhbGVuZGFyO1xuICAgICAgc2VsZi5jaGFuZ2VNb250aCA9IGNoYW5nZU1vbnRoO1xuICAgICAgc2VsZi5jaGFuZ2VZZWFyID0gY2hhbmdlWWVhcjtcbiAgICAgIHNlbGYuY2xlYXIgPSBjbGVhcjtcbiAgICAgIHNlbGYuY2xvc2UgPSBjbG9zZTtcbiAgICAgIHNlbGYuX2NyZWF0ZUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50O1xuICAgICAgc2VsZi5kZXN0cm95ID0gZGVzdHJveTtcbiAgICAgIHNlbGYuaXNFbmFibGVkID0gaXNFbmFibGVkO1xuICAgICAgc2VsZi5qdW1wVG9EYXRlID0ganVtcFRvRGF0ZTtcbiAgICAgIHNlbGYub3BlbiA9IG9wZW47XG4gICAgICBzZWxmLnJlZHJhdyA9IHJlZHJhdztcbiAgICAgIHNlbGYuc2V0ID0gc2V0O1xuICAgICAgc2VsZi5zZXREYXRlID0gc2V0RGF0ZTtcbiAgICAgIHNlbGYudG9nZ2xlID0gdG9nZ2xlO1xuXG4gICAgICBmdW5jdGlvbiBzZXR1cEhlbHBlckZ1bmN0aW9ucygpIHtcbiAgICAgICAgc2VsZi51dGlscyA9IHtcbiAgICAgICAgICBnZXREYXlzSW5Nb250aDogZnVuY3Rpb24gZ2V0RGF5c0luTW9udGgobW9udGgsIHlyKSB7XG4gICAgICAgICAgICBpZiAobW9udGggPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICBtb250aCA9IHNlbGYuY3VycmVudE1vbnRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoeXIgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICB5ciA9IHNlbGYuY3VycmVudFllYXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtb250aCA9PT0gMSAmJiAoeXIgJSA0ID09PSAwICYmIHlyICUgMTAwICE9PSAwIHx8IHlyICUgNDAwID09PSAwKSkgcmV0dXJuIDI5O1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYubDEwbi5kYXlzSW5Nb250aFttb250aF07XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICBzZWxmLmVsZW1lbnQgPSBzZWxmLmlucHV0ID0gZWxlbWVudDtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgcGFyc2VDb25maWcoKTtcbiAgICAgICAgc2V0dXBMb2NhbGUoKTtcbiAgICAgICAgc2V0dXBJbnB1dHMoKTtcbiAgICAgICAgc2V0dXBEYXRlcygpO1xuICAgICAgICBzZXR1cEhlbHBlckZ1bmN0aW9ucygpO1xuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIGJ1aWxkKCk7XG4gICAgICAgIGJpbmRFdmVudHMoKTtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCB8fCBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHtcbiAgICAgICAgICAgIHNldEhvdXJzRnJvbURhdGUoc2VsZi5jb25maWcubm9DYWxlbmRhciA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IHNlbGYuY29uZmlnLm1pbkRhdGUgOiB1bmRlZmluZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVZhbHVlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldENhbGVuZGFyV2lkdGgoKTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgfHwgc2VsZi5jb25maWcubm9DYWxlbmRhcjtcbiAgICAgICAgdmFyIGlzU2FmYXJpID0gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUgJiYgaXNTYWZhcmkpIHtcbiAgICAgICAgICBwb3NpdGlvbkNhbGVuZGFyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblJlYWR5XCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBiaW5kVG9JbnN0YW5jZShmbikge1xuICAgICAgICByZXR1cm4gZm4uYmluZChzZWxmKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0Q2FsZW5kYXJXaWR0aCgpIHtcbiAgICAgICAgdmFyIGNvbmZpZyA9IHNlbGYuY29uZmlnO1xuICAgICAgICBpZiAoY29uZmlnLndlZWtOdW1iZXJzID09PSBmYWxzZSAmJiBjb25maWcuc2hvd01vbnRocyA9PT0gMSkgcmV0dXJuO2Vsc2UgaWYgKGNvbmZpZy5ub0NhbGVuZGFyICE9PSB0cnVlKSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdmFyIGRheXNXaWR0aCA9IChzZWxmLmRheXMub2Zmc2V0V2lkdGggKyAxKSAqIGNvbmZpZy5zaG93TW9udGhzO1xuICAgICAgICAgICAgICBzZWxmLmRheXNDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyBcInB4XCI7XG4gICAgICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUud2lkdGggPSBkYXlzV2lkdGggKyAoc2VsZi53ZWVrV3JhcHBlciAhPT0gdW5kZWZpbmVkID8gc2VsZi53ZWVrV3JhcHBlci5vZmZzZXRXaWR0aCA6IDApICsgXCJweFwiO1xuICAgICAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KFwidmlzaWJpbGl0eVwiKTtcbiAgICAgICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eShcImRpc3BsYXlcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlVGltZShlKSB7XG4gICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgICAgIGlmIChlICE9PSB1bmRlZmluZWQgJiYgZS50eXBlICE9PSBcImJsdXJcIikgdGltZVdyYXBwZXIoZSk7XG4gICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuXG4gICAgICAgIHNlbGYuX2RlYm91bmNlZENoYW5nZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBhbXBtMm1pbGl0YXJ5KGhvdXIsIGFtUE0pIHtcbiAgICAgICAgcmV0dXJuIGhvdXIgJSAxMiArIDEyICogaW50KGFtUE0gPT09IHNlbGYubDEwbi5hbVBNWzFdKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbWlsaXRhcnkyYW1wbShob3VyKSB7XG4gICAgICAgIHN3aXRjaCAoaG91ciAlIDI0KSB7XG4gICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIGNhc2UgMTI6XG4gICAgICAgICAgICByZXR1cm4gMTI7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGhvdXIgJSAxMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21JbnB1dHMoKSB7XG4gICAgICAgIGlmIChzZWxmLmhvdXJFbGVtZW50ID09PSB1bmRlZmluZWQgfHwgc2VsZi5taW51dGVFbGVtZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdXJzID0gKHBhcnNlSW50KHNlbGYuaG91ckVsZW1lbnQudmFsdWUuc2xpY2UoLTIpLCAxMCkgfHwgMCkgJSAyNCxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSAocGFyc2VJbnQoc2VsZi5taW51dGVFbGVtZW50LnZhbHVlLCAxMCkgfHwgMCkgJSA2MCxcbiAgICAgICAgICAgIHNlY29uZHMgPSBzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCA/IChwYXJzZUludChzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUsIDEwKSB8fCAwKSAlIDYwIDogMDtcblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBob3VycyA9IGFtcG0ybWlsaXRhcnkoaG91cnMsIHNlbGYuYW1QTS50ZXh0Q29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbGltaXRNaW5Ib3VycyA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYubWluRGF0ZUhhc1RpbWUgJiYgc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogJiYgY29tcGFyZURhdGVzKHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLCBzZWxmLmNvbmZpZy5taW5EYXRlLCB0cnVlKSA9PT0gMDtcbiAgICAgICAgdmFyIGxpbWl0TWF4SG91cnMgPSBzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBzZWxmLm1heERhdGVIYXNUaW1lICYmIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqICYmIGNvbXBhcmVEYXRlcyhzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5jb25maWcubWF4RGF0ZSwgdHJ1ZSkgPT09IDA7XG5cbiAgICAgICAgaWYgKGxpbWl0TWF4SG91cnMpIHtcbiAgICAgICAgICB2YXIgbWF4VGltZSA9IHNlbGYuY29uZmlnLm1heFRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1heFRpbWUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5taW4oaG91cnMsIG1heFRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtYXhUaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1pbihtaW51dGVzLCBtYXhUaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1heFRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5taW4oc2Vjb25kcywgbWF4VGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbWl0TWluSG91cnMpIHtcbiAgICAgICAgICB2YXIgbWluVGltZSA9IHNlbGYuY29uZmlnLm1pblRpbWUgIT09IHVuZGVmaW5lZCA/IHNlbGYuY29uZmlnLm1pblRpbWUgOiBzZWxmLmNvbmZpZy5taW5EYXRlO1xuICAgICAgICAgIGhvdXJzID0gTWF0aC5tYXgoaG91cnMsIG1pblRpbWUuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgaWYgKGhvdXJzID09PSBtaW5UaW1lLmdldEhvdXJzKCkpIG1pbnV0ZXMgPSBNYXRoLm1heChtaW51dGVzLCBtaW5UaW1lLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgaWYgKG1pbnV0ZXMgPT09IG1pblRpbWUuZ2V0TWludXRlcygpKSBzZWNvbmRzID0gTWF0aC5tYXgoc2Vjb25kcywgbWluVGltZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vyc0Zyb21EYXRlKGRhdGVPYmopIHtcbiAgICAgICAgdmFyIGRhdGUgPSBkYXRlT2JqIHx8IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqO1xuICAgICAgICBpZiAoZGF0ZSkgc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSwgZGF0ZS5nZXRTZWNvbmRzKCkpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXREZWZhdWx0SG91cnMoKSB7XG4gICAgICAgIHZhciBob3VycyA9IHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyO1xuICAgICAgICB2YXIgbWludXRlcyA9IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGU7XG4gICAgICAgIHZhciBzZWNvbmRzID0gc2VsZi5jb25maWcuZGVmYXVsdFNlY29uZHM7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtaW5faHIgPSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1pbl9taW51dGVzID0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1heChob3VycywgbWluX2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ocikgbWludXRlcyA9IE1hdGgubWF4KG1pbl9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1pbl9ociAmJiBtaW51dGVzID09PSBtaW5fbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhciBtYXhfaHIgPSBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldEhvdXJzKCk7XG4gICAgICAgICAgdmFyIG1heF9taW51dGVzID0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgICAgICAgaG91cnMgPSBNYXRoLm1pbihob3VycywgbWF4X2hyKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ocikgbWludXRlcyA9IE1hdGgubWluKG1heF9taW51dGVzLCBtaW51dGVzKTtcbiAgICAgICAgICBpZiAoaG91cnMgPT09IG1heF9ociAmJiBtaW51dGVzID09PSBtYXhfbWludXRlcykgc2Vjb25kcyA9IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0U2Vjb25kcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRIb3Vycyhob3VycywgbWludXRlcywgc2Vjb25kcykge1xuICAgICAgICBpZiAoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLnNldEhvdXJzKGhvdXJzICUgMjQsIG1pbnV0ZXMsIHNlY29uZHMgfHwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuaG91ckVsZW1lbnQgfHwgIXNlbGYubWludXRlRWxlbWVudCB8fCBzZWxmLmlzTW9iaWxlKSByZXR1cm47XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoIXNlbGYuY29uZmlnLnRpbWVfMjRociA/ICgxMiArIGhvdXJzKSAlIDEyICsgMTIgKiBpbnQoaG91cnMgJSAxMiA9PT0gMCkgOiBob3Vycyk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChtaW51dGVzKTtcbiAgICAgICAgaWYgKHNlbGYuYW1QTSAhPT0gdW5kZWZpbmVkKSBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoaG91cnMgPj0gMTIpXTtcbiAgICAgICAgaWYgKHNlbGYuc2Vjb25kRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZWxmLnNlY29uZEVsZW1lbnQudmFsdWUgPSBwYWQoc2Vjb25kcyk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uWWVhcklucHV0KGV2ZW50KSB7XG4gICAgICAgIHZhciB5ZWFyID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKSArIChldmVudC5kZWx0YSB8fCAwKTtcblxuICAgICAgICBpZiAoeWVhciAvIDEwMDAgPiAxIHx8IGV2ZW50LmtleSA9PT0gXCJFbnRlclwiICYmICEvW15cXGRdLy50ZXN0KHllYXIudG9TdHJpbmcoKSkpIHtcbiAgICAgICAgICBjaGFuZ2VZZWFyKHllYXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJpbmQoZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBldmVudC5mb3JFYWNoKGZ1bmN0aW9uIChldikge1xuICAgICAgICAgIHJldHVybiBiaW5kKGVsZW1lbnQsIGV2LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiBlbGVtZW50LmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgcmV0dXJuIGJpbmQoZWwsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMucHVzaCh7XG4gICAgICAgICAgZWxlbWVudDogZWxlbWVudCxcbiAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgaGFuZGxlcjogaGFuZGxlcixcbiAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbkNsaWNrKGhhbmRsZXIpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICBldnQud2hpY2ggPT09IDEgJiYgaGFuZGxlcihldnQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0cmlnZ2VyQ2hhbmdlKCkge1xuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYmluZEV2ZW50cygpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLndyYXApIHtcbiAgICAgICAgICBbXCJvcGVuXCIsIFwiY2xvc2VcIiwgXCJ0b2dnbGVcIiwgXCJjbGVhclwiXS5mb3JFYWNoKGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoc2VsZi5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1cIiArIGV2dCArIFwiXVwiKSwgZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBiaW5kKGVsLCBcImNsaWNrXCIsIHNlbGZbZXZ0XSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlKSB7XG4gICAgICAgICAgc2V0dXBNb2JpbGUoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZGVib3VuY2VkUmVzaXplID0gZGVib3VuY2Uob25SZXNpemUsIDUwKTtcbiAgICAgICAgc2VsZi5fZGVib3VuY2VkQ2hhbmdlID0gZGVib3VuY2UodHJpZ2dlckNoYW5nZSwgREVCT1VOQ0VEX0NIQU5HRV9NUyk7XG4gICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIgJiYgIS9pUGhvbmV8aVBhZHxpUG9kL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgYmluZChzZWxmLmRheXNDb250YWluZXIsIFwibW91c2VvdmVyXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikgb25Nb3VzZU92ZXIoZS50YXJnZXQpO1xuICAgICAgICB9KTtcbiAgICAgICAgYmluZCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgXCJrZXlkb3duXCIsIG9uS2V5RG93bik7XG4gICAgICAgIGlmICghc2VsZi5jb25maWcuc3RhdGljKSBiaW5kKHNlbGYuX2lucHV0LCBcImtleWRvd25cIiwgb25LZXlEb3duKTtcbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5pbmxpbmUgJiYgIXNlbGYuY29uZmlnLnN0YXRpYykgYmluZCh3aW5kb3csIFwicmVzaXplXCIsIGRlYm91bmNlZFJlc2l6ZSk7XG4gICAgICAgIGlmICh3aW5kb3cub250b3VjaHN0YXJ0ICE9PSB1bmRlZmluZWQpIGJpbmQod2luZG93LmRvY3VtZW50LCBcImNsaWNrXCIsIGRvY3VtZW50Q2xpY2spO2Vsc2UgYmluZCh3aW5kb3cuZG9jdW1lbnQsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2soZG9jdW1lbnRDbGljaykpO1xuICAgICAgICBiaW5kKHdpbmRvdy5kb2N1bWVudCwgXCJmb2N1c1wiLCBkb2N1bWVudENsaWNrLCB7XG4gICAgICAgICAgY2FwdHVyZTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuY2xpY2tPcGVucyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGJpbmQoc2VsZi5faW5wdXQsIFwiZm9jdXNcIiwgc2VsZi5vcGVuKTtcbiAgICAgICAgICBiaW5kKHNlbGYuX2lucHV0LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKHNlbGYub3BlbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYmluZChzZWxmLm1vbnRoTmF2LCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKG9uTW9udGhOYXZDbGljaykpO1xuICAgICAgICAgIGJpbmQoc2VsZi5tb250aE5hdiwgW1wia2V5dXBcIiwgXCJpbmNyZW1lbnRcIl0sIG9uWWVhcklucHV0KTtcbiAgICAgICAgICBiaW5kKHNlbGYuZGF5c0NvbnRhaW5lciwgXCJtb3VzZWRvd25cIiwgb25DbGljayhzZWxlY3REYXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi50aW1lQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgc2VsZi5taW51dGVFbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFyIHNlbFRleHQgPSBmdW5jdGlvbiBzZWxUZXh0KGUpIHtcbiAgICAgICAgICAgIHJldHVybiBlLnRhcmdldC5zZWxlY3QoKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFtcImluY3JlbWVudFwiXSwgdXBkYXRlVGltZSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwiYmx1clwiLCB1cGRhdGVUaW1lLCB7XG4gICAgICAgICAgICBjYXB0dXJlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYmluZChzZWxmLnRpbWVDb250YWluZXIsIFwibW91c2Vkb3duXCIsIG9uQ2xpY2sodGltZUluY3JlbWVudCkpO1xuICAgICAgICAgIGJpbmQoW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudF0sIFtcImZvY3VzXCIsIFwiY2xpY2tcIl0sIHNlbFRleHQpO1xuICAgICAgICAgIGlmIChzZWxmLnNlY29uZEVsZW1lbnQgIT09IHVuZGVmaW5lZCkgYmluZChzZWxmLnNlY29uZEVsZW1lbnQsIFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2Vjb25kRWxlbWVudCAmJiBzZWxmLnNlY29uZEVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGJpbmQoc2VsZi5hbVBNLCBcIm1vdXNlZG93blwiLCBvbkNsaWNrKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG4gICAgICAgICAgICAgIHRyaWdnZXJDaGFuZ2UoKTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24ganVtcFRvRGF0ZShqdW1wRGF0ZSkge1xuICAgICAgICB2YXIganVtcFRvID0ganVtcERhdGUgIT09IHVuZGVmaW5lZCA/IHNlbGYucGFyc2VEYXRlKGp1bXBEYXRlKSA6IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqIHx8IChzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUgPiBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUgPCBzZWxmLm5vdyA/IHNlbGYuY29uZmlnLm1heERhdGUgOiBzZWxmLm5vdyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoanVtcFRvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXIgPSBqdW1wVG8uZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0ganVtcFRvLmdldE1vbnRoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZS5tZXNzYWdlID0gXCJJbnZhbGlkIGRhdGUgc3VwcGxpZWQ6IFwiICsganVtcFRvO1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVJbmNyZW1lbnQoZSkge1xuICAgICAgICBpZiAofmUudGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKFwiYXJyb3dcIikpIGluY3JlbWVudE51bUlucHV0KGUsIGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhcImFycm93VXBcIikgPyAxIDogLTEpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBpbmNyZW1lbnROdW1JbnB1dChlLCBkZWx0YSwgaW5wdXRFbGVtKSB7XG4gICAgICAgIHZhciB0YXJnZXQgPSBlICYmIGUudGFyZ2V0O1xuICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dEVsZW0gfHwgdGFyZ2V0ICYmIHRhcmdldC5wYXJlbnROb2RlICYmIHRhcmdldC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7XG4gICAgICAgIHZhciBldmVudCA9IGNyZWF0ZUV2ZW50KFwiaW5jcmVtZW50XCIpO1xuICAgICAgICBldmVudC5kZWx0YSA9IGRlbHRhO1xuICAgICAgICBpbnB1dCAmJiBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGQoKSB7XG4gICAgICAgIHZhciBmcmFnbWVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLWNhbGVuZGFyXCIpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnRhYkluZGV4ID0gLTE7XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5ub0NhbGVuZGFyKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRNb250aE5hdigpKTtcbiAgICAgICAgICBzZWxmLmlubmVyQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1pbm5lckNvbnRhaW5lclwiKTtcblxuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZy53ZWVrTnVtYmVycykge1xuICAgICAgICAgICAgdmFyIF9idWlsZFdlZWtzID0gYnVpbGRXZWVrcygpLFxuICAgICAgICAgICAgICAgIHdlZWtXcmFwcGVyID0gX2J1aWxkV2Vla3Mud2Vla1dyYXBwZXIsXG4gICAgICAgICAgICAgICAgd2Vla051bWJlcnMgPSBfYnVpbGRXZWVrcy53ZWVrTnVtYmVycztcblxuICAgICAgICAgICAgc2VsZi5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZCh3ZWVrV3JhcHBlcik7XG4gICAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzID0gd2Vla051bWJlcnM7XG4gICAgICAgICAgICBzZWxmLndlZWtXcmFwcGVyID0gd2Vla1dyYXBwZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZi5yQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci1yQ29udGFpbmVyXCIpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChidWlsZFdlZWtkYXlzKCkpO1xuXG4gICAgICAgICAgaWYgKCFzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItZGF5c1wiKTtcbiAgICAgICAgICAgIHNlbGYuZGF5c0NvbnRhaW5lci50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICAgIHNlbGYuckNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmRheXNDb250YWluZXIpO1xuICAgICAgICAgIHNlbGYuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc2VsZi5yQ29udGFpbmVyKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzZWxmLmlubmVyQ29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoYnVpbGRUaW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyYW5nZU1vZGVcIiwgc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhbmltYXRlXCIsIHNlbGYuY29uZmlnLmFuaW1hdGUgPT09IHRydWUpO1xuICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLmNhbGVuZGFyQ29udGFpbmVyLCBcIm11bHRpTW9udGhcIiwgc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEpO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgICAgICAgdmFyIGN1c3RvbUFwcGVuZCA9IHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgJiYgc2VsZi5jb25maWcuYXBwZW5kVG8ubm9kZVR5cGUgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lIHx8IHNlbGYuY29uZmlnLnN0YXRpYykge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChzZWxmLmNvbmZpZy5pbmxpbmUgPyBcImlubGluZVwiIDogXCJzdGF0aWNcIik7XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgICBpZiAoIWN1c3RvbUFwcGVuZCAmJiBzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIHNlbGYuX2lucHV0Lm5leHRTaWJsaW5nKTtlbHNlIGlmIChzZWxmLmNvbmZpZy5hcHBlbmRUbyAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5hcHBlbmRUby5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuc3RhdGljKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd3JhcHBlclwiKTtcbiAgICAgICAgICAgIGlmIChzZWxmLmVsZW1lbnQucGFyZW50Tm9kZSkgc2VsZi5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNlbGYuZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCkgd3JhcHBlci5hcHBlbmRDaGlsZChzZWxmLmFsdElucHV0KTtcbiAgICAgICAgICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgKHNlbGYuY29uZmlnLmFwcGVuZFRvICE9PSB1bmRlZmluZWQgPyBzZWxmLmNvbmZpZy5hcHBlbmRUbyA6IHdpbmRvdy5kb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChzZWxmLmNhbGVuZGFyQ29udGFpbmVyKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY3JlYXRlRGF5KGNsYXNzTmFtZSwgZGF0ZSwgZGF5TnVtYmVyLCBpKSB7XG4gICAgICAgIHZhciBkYXRlSXNFbmFibGVkID0gaXNFbmFibGVkKGRhdGUsIHRydWUpLFxuICAgICAgICAgICAgZGF5RWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWRheSBcIiArIGNsYXNzTmFtZSwgZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKSk7XG4gICAgICAgIGRheUVsZW1lbnQuZGF0ZU9iaiA9IGRhdGU7XG4gICAgICAgIGRheUVsZW1lbnQuJGkgPSBpO1xuICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5mb3JtYXREYXRlKGRhdGUsIHNlbGYuY29uZmlnLmFyaWFEYXRlRm9ybWF0KSk7XG5cbiAgICAgICAgaWYgKGNsYXNzTmFtZS5pbmRleE9mKFwiaGlkZGVuXCIpID09PSAtMSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5ub3cpID09PSAwKSB7XG4gICAgICAgICAgc2VsZi50b2RheURhdGVFbGVtID0gZGF5RWxlbWVudDtcbiAgICAgICAgICBkYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ0b2RheVwiKTtcbiAgICAgICAgICBkYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtY3VycmVudFwiLCBcImRhdGVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZUlzRW5hYmxlZCkge1xuICAgICAgICAgIGRheUVsZW1lbnQudGFiSW5kZXggPSAtMTtcblxuICAgICAgICAgIGlmIChpc0RhdGVTZWxlY3RlZChkYXRlKSkge1xuICAgICAgICAgICAgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwic2VsZWN0ZWRcIik7XG4gICAgICAgICAgICBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gPSBkYXlFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgICAgIHRvZ2dsZUNsYXNzKGRheUVsZW1lbnQsIFwic3RhcnRSYW5nZVwiLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0gJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgPT09IDApO1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhkYXlFbGVtZW50LCBcImVuZFJhbmdlXCIsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSAmJiBjb21wYXJlRGF0ZXMoZGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzFdLCB0cnVlKSA9PT0gMCk7XG4gICAgICAgICAgICAgIGlmIChjbGFzc05hbWUgPT09IFwibmV4dE1vbnRoRGF5XCIpIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImluUmFuZ2VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRheUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImRpc2FibGVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChpc0RhdGVJblJhbmdlKGRhdGUpICYmICFpc0RhdGVTZWxlY3RlZChkYXRlKSkgZGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLndlZWtOdW1iZXJzICYmIHNlbGYuY29uZmlnLnNob3dNb250aHMgPT09IDEgJiYgY2xhc3NOYW1lICE9PSBcInByZXZNb250aERheVwiICYmIGRheU51bWJlciAlIDcgPT09IDEpIHtcbiAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzLmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCBcIjxzcGFuIGNsYXNzPSdmbGF0cGlja3ItZGF5Jz5cIiArIHNlbGYuY29uZmlnLmdldFdlZWsoZGF0ZSkgKyBcIjwvc3Bhbj5cIik7XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvbkRheUNyZWF0ZVwiLCBkYXlFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGRheUVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXlFbGVtKHRhcmdldE5vZGUpIHtcbiAgICAgICAgdGFyZ2V0Tm9kZS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBvbk1vdXNlT3Zlcih0YXJnZXROb2RlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZ2V0Rmlyc3RBdmFpbGFibGVEYXkoZGVsdGEpIHtcbiAgICAgICAgdmFyIHN0YXJ0TW9udGggPSBkZWx0YSA+IDAgPyAwIDogc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDE7XG4gICAgICAgIHZhciBlbmRNb250aCA9IGRlbHRhID4gMCA/IHNlbGYuY29uZmlnLnNob3dNb250aHMgOiAtMTtcblxuICAgICAgICBmb3IgKHZhciBtID0gc3RhcnRNb250aDsgbSAhPSBlbmRNb250aDsgbSArPSBkZWx0YSkge1xuICAgICAgICAgIHZhciBtb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttXTtcbiAgICAgICAgICB2YXIgc3RhcnRJbmRleCA9IGRlbHRhID4gMCA/IDAgOiBtb250aC5jaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgICAgICAgIHZhciBlbmRJbmRleCA9IGRlbHRhID4gMCA/IG1vbnRoLmNoaWxkcmVuLmxlbmd0aCA6IC0xO1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXg7IGkgIT0gZW5kSW5kZXg7IGkgKz0gZGVsdGEpIHtcbiAgICAgICAgICAgIHZhciBjID0gbW9udGguY2hpbGRyZW5baV07XG4gICAgICAgICAgICBpZiAoYy5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgaXNFbmFibGVkKGMuZGF0ZU9iaikpIHJldHVybiBjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRBdmFpbGFibGVEYXkoY3VycmVudCwgZGVsdGEpIHtcbiAgICAgICAgdmFyIGdpdmVuTW9udGggPSBjdXJyZW50LmNsYXNzTmFtZS5pbmRleE9mKFwiTW9udGhcIikgPT09IC0xID8gY3VycmVudC5kYXRlT2JqLmdldE1vbnRoKCkgOiBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgdmFyIGVuZE1vbnRoID0gZGVsdGEgPiAwID8gc2VsZi5jb25maWcuc2hvd01vbnRocyA6IC0xO1xuICAgICAgICB2YXIgbG9vcERlbHRhID0gZGVsdGEgPiAwID8gMSA6IC0xO1xuXG4gICAgICAgIGZvciAodmFyIG0gPSBnaXZlbk1vbnRoIC0gc2VsZi5jdXJyZW50TW9udGg7IG0gIT0gZW5kTW9udGg7IG0gKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgdmFyIG1vbnRoID0gc2VsZi5kYXlzQ29udGFpbmVyLmNoaWxkcmVuW21dO1xuICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gZ2l2ZW5Nb250aCAtIHNlbGYuY3VycmVudE1vbnRoID09PSBtID8gY3VycmVudC4kaSArIGRlbHRhIDogZGVsdGEgPCAwID8gbW9udGguY2hpbGRyZW4ubGVuZ3RoIC0gMSA6IDA7XG4gICAgICAgICAgdmFyIG51bU1vbnRoRGF5cyA9IG1vbnRoLmNoaWxkcmVuLmxlbmd0aDtcblxuICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpID49IDAgJiYgaSA8IG51bU1vbnRoRGF5cyAmJiBpICE9IChkZWx0YSA+IDAgPyBudW1Nb250aERheXMgOiAtMSk7IGkgKz0gbG9vcERlbHRhKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG1vbnRoLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMuY2xhc3NOYW1lLmluZGV4T2YoXCJoaWRkZW5cIikgPT09IC0xICYmIGlzRW5hYmxlZChjLmRhdGVPYmopICYmIE1hdGguYWJzKGN1cnJlbnQuJGkgLSBpKSA+PSBNYXRoLmFicyhkZWx0YSkpIHJldHVybiBmb2N1c09uRGF5RWxlbShjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmNoYW5nZU1vbnRoKGxvb3BEZWx0YSk7XG4gICAgICAgIGZvY3VzT25EYXkoZ2V0Rmlyc3RBdmFpbGFibGVEYXkobG9vcERlbHRhKSwgMCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZvY3VzT25EYXkoY3VycmVudCwgb2Zmc2V0KSB7XG4gICAgICAgIHZhciBkYXlGb2N1c2VkID0gaXNJblZpZXcoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgICAgIHZhciBzdGFydEVsZW0gPSBjdXJyZW50ICE9PSB1bmRlZmluZWQgPyBjdXJyZW50IDogZGF5Rm9jdXNlZCA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBzZWxmLnNlbGVjdGVkRGF0ZUVsZW0gIT09IHVuZGVmaW5lZCAmJiBpc0luVmlldyhzZWxmLnNlbGVjdGVkRGF0ZUVsZW0pID8gc2VsZi5zZWxlY3RlZERhdGVFbGVtIDogc2VsZi50b2RheURhdGVFbGVtICE9PSB1bmRlZmluZWQgJiYgaXNJblZpZXcoc2VsZi50b2RheURhdGVFbGVtKSA/IHNlbGYudG9kYXlEYXRlRWxlbSA6IGdldEZpcnN0QXZhaWxhYmxlRGF5KG9mZnNldCA+IDAgPyAxIDogLTEpO1xuICAgICAgICBpZiAoc3RhcnRFbGVtID09PSB1bmRlZmluZWQpIHJldHVybiBzZWxmLl9pbnB1dC5mb2N1cygpO1xuICAgICAgICBpZiAoIWRheUZvY3VzZWQpIHJldHVybiBmb2N1c09uRGF5RWxlbShzdGFydEVsZW0pO1xuICAgICAgICBnZXROZXh0QXZhaWxhYmxlRGF5KHN0YXJ0RWxlbSwgb2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aERheXMoeWVhciwgbW9udGgpIHtcbiAgICAgICAgdmFyIGZpcnN0T2ZNb250aCA9IChuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCkgLSBzZWxmLmwxMG4uZmlyc3REYXlPZldlZWsgKyA3KSAlIDc7XG4gICAgICAgIHZhciBwcmV2TW9udGhEYXlzID0gc2VsZi51dGlscy5nZXREYXlzSW5Nb250aCgobW9udGggLSAxICsgMTIpICUgMTIpO1xuICAgICAgICB2YXIgZGF5c0luTW9udGggPSBzZWxmLnV0aWxzLmdldERheXNJbk1vbnRoKG1vbnRoKSxcbiAgICAgICAgICAgIGRheXMgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLFxuICAgICAgICAgICAgaXNNdWx0aU1vbnRoID0gc2VsZi5jb25maWcuc2hvd01vbnRocyA+IDEsXG4gICAgICAgICAgICBwcmV2TW9udGhEYXlDbGFzcyA9IGlzTXVsdGlNb250aCA/IFwicHJldk1vbnRoRGF5IGhpZGRlblwiIDogXCJwcmV2TW9udGhEYXlcIixcbiAgICAgICAgICAgIG5leHRNb250aERheUNsYXNzID0gaXNNdWx0aU1vbnRoID8gXCJuZXh0TW9udGhEYXkgaGlkZGVuXCIgOiBcIm5leHRNb250aERheVwiO1xuICAgICAgICB2YXIgZGF5TnVtYmVyID0gcHJldk1vbnRoRGF5cyArIDEgLSBmaXJzdE9mTW9udGgsXG4gICAgICAgICAgICBkYXlJbmRleCA9IDA7XG5cbiAgICAgICAgZm9yICg7IGRheU51bWJlciA8PSBwcmV2TW9udGhEYXlzOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KHByZXZNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheU51bWJlciksIGRheU51bWJlciwgZGF5SW5kZXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoZGF5TnVtYmVyID0gMTsgZGF5TnVtYmVyIDw9IGRheXNJbk1vbnRoOyBkYXlOdW1iZXIrKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KFwiXCIsIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXlOdW1iZXIpLCBkYXlOdW1iZXIsIGRheUluZGV4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBkYXlOdW0gPSBkYXlzSW5Nb250aCArIDE7IGRheU51bSA8PSA0MiAtIGZpcnN0T2ZNb250aCAmJiAoc2VsZi5jb25maWcuc2hvd01vbnRocyA9PT0gMSB8fCBkYXlJbmRleCAlIDcgIT09IDApOyBkYXlOdW0rKywgZGF5SW5kZXgrKykge1xuICAgICAgICAgIGRheXMuYXBwZW5kQ2hpbGQoY3JlYXRlRGF5KG5leHRNb250aERheUNsYXNzLCBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIDEsIGRheU51bSAlIGRheXNJbk1vbnRoKSwgZGF5TnVtLCBkYXlJbmRleCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJkYXlDb250YWluZXJcIik7XG4gICAgICAgIGRheUNvbnRhaW5lci5hcHBlbmRDaGlsZChkYXlzKTtcbiAgICAgICAgcmV0dXJuIGRheUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGREYXlzKCkge1xuICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjbGVhck5vZGUoc2VsZi5kYXlzQ29udGFpbmVyKTtcbiAgICAgICAgaWYgKHNlbGYud2Vla051bWJlcnMpIGNsZWFyTm9kZShzZWxmLndlZWtOdW1iZXJzKTtcbiAgICAgICAgdmFyIGZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBpKyspIHtcbiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKHNlbGYuY3VycmVudFllYXIsIHNlbGYuY3VycmVudE1vbnRoLCAxKTtcbiAgICAgICAgICBkLnNldE1vbnRoKHNlbGYuY3VycmVudE1vbnRoICsgaSk7XG4gICAgICAgICAgZnJhZy5hcHBlbmRDaGlsZChidWlsZE1vbnRoRGF5cyhkLmdldEZ1bGxZZWFyKCksIGQuZ2V0TW9udGgoKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5kYXlzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWcpO1xuICAgICAgICBzZWxmLmRheXMgPSBzZWxmLmRheXNDb250YWluZXIuZmlyc3RDaGlsZDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aCgpIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhcIik7XG4gICAgICAgIHZhciBtb250aE5hdkZyYWdtZW50ID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgdmFyIG1vbnRoRWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiY3VyLW1vbnRoXCIpO1xuICAgICAgICBtb250aEVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHZhciB5ZWFySW5wdXQgPSBjcmVhdGVOdW1iZXJJbnB1dChcImN1ci15ZWFyXCIsIHtcbiAgICAgICAgICB0YWJpbmRleDogXCItMVwiXG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgeWVhckVsZW1lbnQgPSB5ZWFySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgeWVhckVsZW1lbnQudGl0bGUgPSBzZWxmLmwxMG4uc2Nyb2xsVGl0bGU7XG4gICAgICAgIHllYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbGFiZWxcIiwgc2VsZi5sMTBuLnllYXJBcmlhTGFiZWwpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlKSB7XG4gICAgICAgICAgeWVhckVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIHllYXJFbGVtZW50LmRpc2FibGVkID0gISFzZWxmLmNvbmZpZy5taW5EYXRlICYmIHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItY3VycmVudC1tb250aFwiKTtcbiAgICAgICAgY3VycmVudE1vbnRoLmFwcGVuZENoaWxkKG1vbnRoRWxlbWVudCk7XG4gICAgICAgIGN1cnJlbnRNb250aC5hcHBlbmRDaGlsZCh5ZWFySW5wdXQpO1xuICAgICAgICBtb250aE5hdkZyYWdtZW50LmFwcGVuZENoaWxkKGN1cnJlbnRNb250aCk7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb250aE5hdkZyYWdtZW50KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgICAgICB5ZWFyRWxlbWVudDogeWVhckVsZW1lbnQsXG4gICAgICAgICAgbW9udGhFbGVtZW50OiBtb250aEVsZW1lbnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aHMoKSB7XG4gICAgICAgIGNsZWFyTm9kZShzZWxmLm1vbnRoTmF2KTtcbiAgICAgICAgc2VsZi5tb250aE5hdi5hcHBlbmRDaGlsZChzZWxmLnByZXZNb250aE5hdik7XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IHNlbGYuY29uZmlnLnNob3dNb250aHM7IG0tLTspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBidWlsZE1vbnRoKCk7XG4gICAgICAgICAgc2VsZi55ZWFyRWxlbWVudHMucHVzaChtb250aC55ZWFyRWxlbWVudCk7XG4gICAgICAgICAgc2VsZi5tb250aEVsZW1lbnRzLnB1c2gobW9udGgubW9udGhFbGVtZW50KTtcbiAgICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKG1vbnRoLmNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLm1vbnRoTmF2LmFwcGVuZENoaWxkKHNlbGYubmV4dE1vbnRoTmF2KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRNb250aE5hdigpIHtcbiAgICAgICAgc2VsZi5tb250aE5hdiA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3ItbW9udGhzXCIpO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cyA9IFtdO1xuICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHMgPSBbXTtcbiAgICAgICAgc2VsZi5wcmV2TW9udGhOYXYgPSBjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci1wcmV2LW1vbnRoXCIpO1xuICAgICAgICBzZWxmLnByZXZNb250aE5hdi5pbm5lckhUTUwgPSBzZWxmLmNvbmZpZy5wcmV2QXJyb3c7XG4gICAgICAgIHNlbGYubmV4dE1vbnRoTmF2ID0gY3JlYXRlRWxlbWVudChcInNwYW5cIiwgXCJmbGF0cGlja3ItbmV4dC1tb250aFwiKTtcbiAgICAgICAgc2VsZi5uZXh0TW9udGhOYXYuaW5uZXJIVE1MID0gc2VsZi5jb25maWcubmV4dEFycm93O1xuICAgICAgICBidWlsZE1vbnRocygpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLl9faGlkZVByZXZNb250aEFycm93O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQoYm9vbCkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgIT09IGJvb2wpIHtcbiAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5wcmV2TW9udGhOYXYsIFwiZGlzYWJsZWRcIiwgYm9vbCk7XG4gICAgICAgICAgICAgIHNlbGYuX19oaWRlUHJldk1vbnRoQXJyb3cgPSBib29sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19oaWRlTmV4dE1vbnRoQXJyb3c7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldChib29sKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyAhPT0gYm9vbCkge1xuICAgICAgICAgICAgICB0b2dnbGVDbGFzcyhzZWxmLm5leHRNb250aE5hdiwgXCJkaXNhYmxlZFwiLCBib29sKTtcbiAgICAgICAgICAgICAgc2VsZi5fX2hpZGVOZXh0TW9udGhBcnJvdyA9IGJvb2w7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgc2VsZi5jdXJyZW50WWVhckVsZW1lbnQgPSBzZWxmLnllYXJFbGVtZW50c1swXTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICByZXR1cm4gc2VsZi5tb250aE5hdjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRUaW1lKCkge1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNUaW1lXCIpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubm9DYWxlbmRhcikgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwibm9DYWxlbmRhclwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyID0gY3JlYXRlRWxlbWVudChcImRpdlwiLCBcImZsYXRwaWNrci10aW1lXCIpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdmFyIHNlcGFyYXRvciA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yXCIsIFwiOlwiKTtcbiAgICAgICAgdmFyIGhvdXJJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLWhvdXJcIik7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQgPSBob3VySW5wdXQuY2hpbGROb2Rlc1swXTtcbiAgICAgICAgdmFyIG1pbnV0ZUlucHV0ID0gY3JlYXRlTnVtYmVySW5wdXQoXCJmbGF0cGlja3ItbWludXRlXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQgPSBtaW51dGVJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnRhYkluZGV4ID0gc2VsZi5taW51dGVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgICAgIHNlbGYuaG91ckVsZW1lbnQudmFsdWUgPSBwYWQoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iai5nZXRIb3VycygpIDogc2VsZi5jb25maWcudGltZV8yNGhyID8gc2VsZi5jb25maWcuZGVmYXVsdEhvdXIgOiBtaWxpdGFyeTJhbXBtKHNlbGYuY29uZmlnLmRlZmF1bHRIb3VyKSk7XG4gICAgICAgIHNlbGYubWludXRlRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldE1pbnV0ZXMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRNaW51dGUpO1xuICAgICAgICBzZWxmLmhvdXJFbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGEtc3RlcFwiLCBzZWxmLmNvbmZpZy5ob3VySW5jcmVtZW50LnRvU3RyaW5nKCkpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYuY29uZmlnLm1pbnV0ZUluY3JlbWVudC50b1N0cmluZygpKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjBcIiA6IFwiMVwiKTtcbiAgICAgICAgc2VsZi5ob3VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLmNvbmZpZy50aW1lXzI0aHIgPyBcIjIzXCIgOiBcIjEyXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIiwgXCIwXCIpO1xuICAgICAgICBzZWxmLm1pbnV0ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIiwgXCI1OVwiKTtcbiAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKGhvdXJJbnB1dCk7XG4gICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZXBhcmF0b3IpO1xuICAgICAgICBzZWxmLnRpbWVDb250YWluZXIuYXBwZW5kQ2hpbGQobWludXRlSW5wdXQpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcudGltZV8yNGhyKSBzZWxmLnRpbWVDb250YWluZXIuY2xhc3NMaXN0LmFkZChcInRpbWUyNGhyXCIpO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVTZWNvbmRzKSB7XG4gICAgICAgICAgc2VsZi50aW1lQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoYXNTZWNvbmRzXCIpO1xuICAgICAgICAgIHZhciBzZWNvbmRJbnB1dCA9IGNyZWF0ZU51bWJlcklucHV0KFwiZmxhdHBpY2tyLXNlY29uZFwiKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQgPSBzZWNvbmRJbnB1dC5jaGlsZE5vZGVzWzBdO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC52YWx1ZSA9IHBhZChzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA/IHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqLmdldFNlY29uZHMoKSA6IHNlbGYuY29uZmlnLmRlZmF1bHRTZWNvbmRzKTtcbiAgICAgICAgICBzZWxmLnNlY29uZEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIsIHNlbGYubWludXRlRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXN0ZXBcIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1pblwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1taW5cIikpO1xuICAgICAgICAgIHNlbGYuc2Vjb25kRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLW1heFwiLCBzZWxmLm1pbnV0ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci10aW1lLXNlcGFyYXRvclwiLCBcIjpcIikpO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWNvbmRJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNlbGYuY29uZmlnLnRpbWVfMjRocikge1xuICAgICAgICAgIHNlbGYuYW1QTSA9IGNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIFwiZmxhdHBpY2tyLWFtLXBtXCIsIHNlbGYubDEwbi5hbVBNW2ludCgoc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPyBzZWxmLmhvdXJFbGVtZW50LnZhbHVlIDogc2VsZi5jb25maWcuZGVmYXVsdEhvdXIpID4gMTEpXSk7XG4gICAgICAgICAgc2VsZi5hbVBNLnRpdGxlID0gc2VsZi5sMTBuLnRvZ2dsZVRpdGxlO1xuICAgICAgICAgIHNlbGYuYW1QTS50YWJJbmRleCA9IC0xO1xuICAgICAgICAgIHNlbGYudGltZUNvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxmLmFtUE0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlbGYudGltZUNvbnRhaW5lcjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gYnVpbGRXZWVrZGF5cygpIHtcbiAgICAgICAgaWYgKCFzZWxmLndlZWtkYXlDb250YWluZXIpIHNlbGYud2Vla2RheUNvbnRhaW5lciA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla2RheXNcIik7ZWxzZSBjbGVhck5vZGUoc2VsZi53ZWVrZGF5Q29udGFpbmVyKTtcblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHZhciBjb250YWluZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJcIik7XG4gICAgICAgICAgc2VsZi53ZWVrZGF5Q29udGFpbmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVXZWVrZGF5cygpO1xuICAgICAgICByZXR1cm4gc2VsZi53ZWVrZGF5Q29udGFpbmVyO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVXZWVrZGF5cygpIHtcbiAgICAgICAgdmFyIGZpcnN0RGF5T2ZXZWVrID0gc2VsZi5sMTBuLmZpcnN0RGF5T2ZXZWVrO1xuICAgICAgICB2YXIgd2Vla2RheXMgPSBzZWxmLmwxMG4ud2Vla2RheXMuc2hvcnRoYW5kLmNvbmNhdCgpO1xuXG4gICAgICAgIGlmIChmaXJzdERheU9mV2VlayA+IDAgJiYgZmlyc3REYXlPZldlZWsgPCB3ZWVrZGF5cy5sZW5ndGgpIHtcbiAgICAgICAgICB3ZWVrZGF5cyA9IHdlZWtkYXlzLnNwbGljZShmaXJzdERheU9mV2Vlaywgd2Vla2RheXMubGVuZ3RoKS5jb25jYXQod2Vla2RheXMuc3BsaWNlKDAsIGZpcnN0RGF5T2ZXZWVrKSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKHZhciBpID0gc2VsZi5jb25maWcuc2hvd01vbnRoczsgaS0tOykge1xuICAgICAgICAgIHNlbGYud2Vla2RheUNvbnRhaW5lci5jaGlsZHJlbltpXS5pbm5lckhUTUwgPSBcIlxcbiAgICAgIDxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlxcbiAgICAgICAgXCIgKyB3ZWVrZGF5cy5qb2luKFwiPC9zcGFuPjxzcGFuIGNsYXNzPWZsYXRwaWNrci13ZWVrZGF5PlwiKSArIFwiXFxuICAgICAgPC9zcGFuPlxcbiAgICAgIFwiO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGJ1aWxkV2Vla3MoKSB7XG4gICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcImhhc1dlZWtzXCIpO1xuICAgICAgICB2YXIgd2Vla1dyYXBwZXIgPSBjcmVhdGVFbGVtZW50KFwiZGl2XCIsIFwiZmxhdHBpY2tyLXdlZWt3cmFwcGVyXCIpO1xuICAgICAgICB3ZWVrV3JhcHBlci5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KFwic3BhblwiLCBcImZsYXRwaWNrci13ZWVrZGF5XCIsIHNlbGYubDEwbi53ZWVrQWJicmV2aWF0aW9uKSk7XG4gICAgICAgIHZhciB3ZWVrTnVtYmVycyA9IGNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgXCJmbGF0cGlja3Itd2Vla3NcIik7XG4gICAgICAgIHdlZWtXcmFwcGVyLmFwcGVuZENoaWxkKHdlZWtOdW1iZXJzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3ZWVrV3JhcHBlcjogd2Vla1dyYXBwZXIsXG4gICAgICAgICAgd2Vla051bWJlcnM6IHdlZWtOdW1iZXJzXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZU1vbnRoKHZhbHVlLCBpc19vZmZzZXQpIHtcbiAgICAgICAgaWYgKGlzX29mZnNldCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgaXNfb2Zmc2V0ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkZWx0YSA9IGlzX29mZnNldCA/IHZhbHVlIDogdmFsdWUgLSBzZWxmLmN1cnJlbnRNb250aDtcbiAgICAgICAgaWYgKGRlbHRhIDwgMCAmJiBzZWxmLl9oaWRlUHJldk1vbnRoQXJyb3cgPT09IHRydWUgfHwgZGVsdGEgPiAwICYmIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9PT0gdHJ1ZSkgcmV0dXJuO1xuICAgICAgICBzZWxmLmN1cnJlbnRNb250aCArPSBkZWx0YTtcblxuICAgICAgICBpZiAoc2VsZi5jdXJyZW50TW9udGggPCAwIHx8IHNlbGYuY3VycmVudE1vbnRoID4gMTEpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRZZWFyICs9IHNlbGYuY3VycmVudE1vbnRoID4gMTEgPyAxIDogLTE7XG4gICAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSAoc2VsZi5jdXJyZW50TW9udGggKyAxMikgJSAxMjtcbiAgICAgICAgICB0cmlnZ2VyRXZlbnQoXCJvblllYXJDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25Nb250aENoYW5nZVwiKTtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbGVhcih0cmlnZ2VyQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgdHJpZ2dlckNoYW5nZUV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dCAhPT0gdW5kZWZpbmVkKSBzZWxmLmFsdElucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCkgc2VsZi5tb2JpbGVJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiA9IHVuZGVmaW5lZDtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUgPT09IHRydWUpIHtcbiAgICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQpIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgICAgc2VsZi5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXNlbGYuaXNNb2JpbGUpIHtcbiAgICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoXCJvcGVuXCIpO1xuXG4gICAgICAgICAgc2VsZi5faW5wdXQuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZVwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZyAhPT0gdW5kZWZpbmVkKSB0cmlnZ2VyRXZlbnQoXCJvbkRlc3Ryb3lcIik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHNlbGYuX2hhbmRsZXJzLmxlbmd0aDsgaS0tOykge1xuICAgICAgICAgIHZhciBoID0gc2VsZi5faGFuZGxlcnNbaV07XG4gICAgICAgICAgaC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoaC5ldmVudCwgaC5oYW5kbGVyLCBoLm9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZi5faGFuZGxlcnMgPSBbXTtcblxuICAgICAgICBpZiAoc2VsZi5tb2JpbGVJbnB1dCkge1xuICAgICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0LnBhcmVudE5vZGUpIHNlbGYubW9iaWxlSW5wdXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzZWxmLm1vYmlsZUlucHV0KTtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIgJiYgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5wYXJlbnROb2RlKSBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5jYWxlbmRhckNvbnRhaW5lcik7XG5cbiAgICAgICAgaWYgKHNlbGYuYWx0SW5wdXQpIHtcbiAgICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBpZiAoc2VsZi5hbHRJbnB1dC5wYXJlbnROb2RlKSBzZWxmLmFsdElucHV0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2VsZi5hbHRJbnB1dCk7XG4gICAgICAgICAgZGVsZXRlIHNlbGYuYWx0SW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IHNlbGYuaW5wdXQuX3R5cGU7XG4gICAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QucmVtb3ZlKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICAgIHNlbGYuaW5wdXQucmVtb3ZlQXR0cmlidXRlKFwicmVhZG9ubHlcIik7XG4gICAgICAgICAgc2VsZi5pbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBbXCJfc2hvd1RpbWVJbnB1dFwiLCBcImxhdGVzdFNlbGVjdGVkRGF0ZU9ialwiLCBcIl9oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfaGlkZVByZXZNb250aEFycm93XCIsIFwiX19oaWRlTmV4dE1vbnRoQXJyb3dcIiwgXCJfX2hpZGVQcmV2TW9udGhBcnJvd1wiLCBcImlzTW9iaWxlXCIsIFwiaXNPcGVuXCIsIFwic2VsZWN0ZWREYXRlRWxlbVwiLCBcIm1pbkRhdGVIYXNUaW1lXCIsIFwibWF4RGF0ZUhhc1RpbWVcIiwgXCJkYXlzXCIsIFwiZGF5c0NvbnRhaW5lclwiLCBcIl9pbnB1dFwiLCBcIl9wb3NpdGlvbkVsZW1lbnRcIiwgXCJpbm5lckNvbnRhaW5lclwiLCBcInJDb250YWluZXJcIiwgXCJtb250aE5hdlwiLCBcInRvZGF5RGF0ZUVsZW1cIiwgXCJjYWxlbmRhckNvbnRhaW5lclwiLCBcIndlZWtkYXlDb250YWluZXJcIiwgXCJwcmV2TW9udGhOYXZcIiwgXCJuZXh0TW9udGhOYXZcIiwgXCJjdXJyZW50TW9udGhFbGVtZW50XCIsIFwiY3VycmVudFllYXJFbGVtZW50XCIsIFwibmF2aWdhdGlvbkN1cnJlbnRNb250aFwiLCBcInNlbGVjdGVkRGF0ZUVsZW1cIiwgXCJjb25maWdcIl0uZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkZWxldGUgc2VsZltrXTtcbiAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNDYWxlbmRhckVsZW0oZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuYXBwZW5kVG8gJiYgc2VsZi5jb25maWcuYXBwZW5kVG8uY29udGFpbnMoZWxlbSkpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gc2VsZi5jYWxlbmRhckNvbnRhaW5lci5jb250YWlucyhlbGVtKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZG9jdW1lbnRDbGljayhlKSB7XG4gICAgICAgIGlmIChzZWxmLmlzT3BlbiAmJiAhc2VsZi5jb25maWcuaW5saW5lKSB7XG4gICAgICAgICAgdmFyIGlzQ2FsZW5kYXJFbGVtZW50ID0gaXNDYWxlbmRhckVsZW0oZS50YXJnZXQpO1xuICAgICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuaW5wdXQgfHwgZS50YXJnZXQgPT09IHNlbGYuYWx0SW5wdXQgfHwgc2VsZi5lbGVtZW50LmNvbnRhaW5zKGUudGFyZ2V0KSB8fCBlLnBhdGggJiYgZS5wYXRoLmluZGV4T2YgJiYgKH5lLnBhdGguaW5kZXhPZihzZWxmLmlucHV0KSB8fCB+ZS5wYXRoLmluZGV4T2Yoc2VsZi5hbHRJbnB1dCkpO1xuICAgICAgICAgIHZhciBsb3N0Rm9jdXMgPSBlLnR5cGUgPT09IFwiYmx1clwiID8gaXNJbnB1dCAmJiBlLnJlbGF0ZWRUYXJnZXQgJiYgIWlzQ2FsZW5kYXJFbGVtKGUucmVsYXRlZFRhcmdldCkgOiAhaXNJbnB1dCAmJiAhaXNDYWxlbmRhckVsZW1lbnQ7XG4gICAgICAgICAgdmFyIGlzSWdub3JlZCA9ICFzZWxmLmNvbmZpZy5pZ25vcmVkRm9jdXNFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbS5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAobG9zdEZvY3VzICYmIGlzSWdub3JlZCkge1xuICAgICAgICAgICAgc2VsZi5jbG9zZSgpO1xuXG4gICAgICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiICYmIHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgc2VsZi5jbGVhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoYW5nZVllYXIobmV3WWVhcikge1xuICAgICAgICBpZiAoIW5ld1llYXIgfHwgc2VsZi5jb25maWcubWluRGF0ZSAmJiBuZXdZZWFyIDwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpIHx8IHNlbGYuY29uZmlnLm1heERhdGUgJiYgbmV3WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkgcmV0dXJuO1xuICAgICAgICB2YXIgbmV3WWVhck51bSA9IG5ld1llYXIsXG4gICAgICAgICAgICBpc05ld1llYXIgPSBzZWxmLmN1cnJlbnRZZWFyICE9PSBuZXdZZWFyTnVtO1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gbmV3WWVhck51bSB8fCBzZWxmLmN1cnJlbnRZZWFyO1xuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY3VycmVudFllYXIgPT09IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSkge1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gTWF0aC5taW4oc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpLCBzZWxmLmN1cnJlbnRNb250aCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmN1cnJlbnRZZWFyID09PSBzZWxmLmNvbmZpZy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRNb250aCA9IE1hdGgubWF4KHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0TW9udGgoKSwgc2VsZi5jdXJyZW50TW9udGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzTmV3WWVhcikge1xuICAgICAgICAgIHNlbGYucmVkcmF3KCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRW5hYmxlZChkYXRlLCB0aW1lbGVzcykge1xuICAgICAgICBpZiAodGltZWxlc3MgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRpbWVsZXNzID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXRlVG9DaGVjayA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHVuZGVmaW5lZCwgdGltZWxlc3MpO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1pbkRhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1pbkRhdGVIYXNUaW1lKSA8IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZSAmJiBkYXRlVG9DaGVjayAmJiBjb21wYXJlRGF0ZXMoZGF0ZVRvQ2hlY2ssIHNlbGYuY29uZmlnLm1heERhdGUsIHRpbWVsZXNzICE9PSB1bmRlZmluZWQgPyB0aW1lbGVzcyA6ICFzZWxmLm1heERhdGVIYXNUaW1lKSA+IDApIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPT09IDAgJiYgc2VsZi5jb25maWcuZGlzYWJsZS5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoZGF0ZVRvQ2hlY2sgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgYm9vbCA9IHNlbGYuY29uZmlnLmVuYWJsZS5sZW5ndGggPiAwLFxuICAgICAgICAgICAgYXJyYXkgPSBib29sID8gc2VsZi5jb25maWcuZW5hYmxlIDogc2VsZi5jb25maWcuZGlzYWJsZTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMCwgZDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZCA9IGFycmF5W2ldO1xuICAgICAgICAgIGlmICh0eXBlb2YgZCA9PT0gXCJmdW5jdGlvblwiICYmIGQoZGF0ZVRvQ2hlY2spKSByZXR1cm4gYm9vbDtlbHNlIGlmIChkIGluc3RhbmNlb2YgRGF0ZSAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkpIHJldHVybiBib29sO2Vsc2UgaWYgKHR5cGVvZiBkID09PSBcInN0cmluZ1wiICYmIGRhdGVUb0NoZWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhciBwYXJzZWQgPSBzZWxmLnBhcnNlRGF0ZShkLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZCAmJiBwYXJzZWQuZ2V0VGltZSgpID09PSBkYXRlVG9DaGVjay5nZXRUaW1lKCkgPyBib29sIDogIWJvb2w7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZCA9PT0gXCJvYmplY3RcIiAmJiBkYXRlVG9DaGVjayAhPT0gdW5kZWZpbmVkICYmIGQuZnJvbSAmJiBkLnRvICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA+PSBkLmZyb20uZ2V0VGltZSgpICYmIGRhdGVUb0NoZWNrLmdldFRpbWUoKSA8PSBkLnRvLmdldFRpbWUoKSkgcmV0dXJuIGJvb2w7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gIWJvb2w7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzSW5WaWV3KGVsZW0pIHtcbiAgICAgICAgaWYgKHNlbGYuZGF5c0NvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSByZXR1cm4gZWxlbS5jbGFzc05hbWUuaW5kZXhPZihcImhpZGRlblwiKSA9PT0gLTEgJiYgc2VsZi5kYXlzQ29udGFpbmVyLmNvbnRhaW5zKGVsZW0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihlKSB7XG4gICAgICAgIHZhciBpc0lucHV0ID0gZS50YXJnZXQgPT09IHNlbGYuX2lucHV0O1xuICAgICAgICB2YXIgYWxsb3dJbnB1dCA9IHNlbGYuY29uZmlnLmFsbG93SW5wdXQ7XG4gICAgICAgIHZhciBhbGxvd0tleWRvd24gPSBzZWxmLmlzT3BlbiAmJiAoIWFsbG93SW5wdXQgfHwgIWlzSW5wdXQpO1xuICAgICAgICB2YXIgYWxsb3dJbmxpbmVLZXlkb3duID0gc2VsZi5jb25maWcuaW5saW5lICYmIGlzSW5wdXQgJiYgIWFsbG93SW5wdXQ7XG5cbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTMgJiYgaXNJbnB1dCkge1xuICAgICAgICAgIGlmIChhbGxvd0lucHV0KSB7XG4gICAgICAgICAgICBzZWxmLnNldERhdGUoc2VsZi5faW5wdXQudmFsdWUsIHRydWUsIGUudGFyZ2V0ID09PSBzZWxmLmFsdElucHV0ID8gc2VsZi5jb25maWcuYWx0Rm9ybWF0IDogc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQuYmx1cigpO1xuICAgICAgICAgIH0gZWxzZSBzZWxmLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0NhbGVuZGFyRWxlbShlLnRhcmdldCkgfHwgYWxsb3dLZXlkb3duIHx8IGFsbG93SW5saW5lS2V5ZG93bikge1xuICAgICAgICAgIHZhciBpc1RpbWVPYmogPSAhIXNlbGYudGltZUNvbnRhaW5lciAmJiBzZWxmLnRpbWVDb250YWluZXIuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgICAgIGlmIChpc1RpbWVPYmopIHVwZGF0ZVRpbWUoKTtlbHNlIHNlbGVjdERhdGUoZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDI3OlxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgIGNhc2UgNDY6XG4gICAgICAgICAgICAgIGlmIChpc0lucHV0ICYmICFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHNlbGYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM3OlxuICAgICAgICAgICAgY2FzZSAzOTpcbiAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmopIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyICE9PSB1bmRlZmluZWQgJiYgKGFsbG93SW5wdXQgPT09IGZhbHNlIHx8IGlzSW5WaWV3KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkge1xuICAgICAgICAgICAgICAgICAgdmFyIF9kZWx0YSA9IGUua2V5Q29kZSA9PT0gMzkgPyAxIDogLTE7XG5cbiAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5KSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgX2RlbHRhKTtlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlTW9udGgoX2RlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGYuaG91ckVsZW1lbnQpIHNlbGYuaG91ckVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAzODpcbiAgICAgICAgICAgIGNhc2UgNDA6XG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdmFyIGRlbHRhID0gZS5rZXlDb2RlID09PSA0MCA/IDEgOiAtMTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5kYXlzQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGUuY3RybEtleSkge1xuICAgICAgICAgICAgICAgICAgY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyIC0gZGVsdGEpO1xuICAgICAgICAgICAgICAgICAgZm9jdXNPbkRheShnZXRGaXJzdEF2YWlsYWJsZURheSgxKSwgMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNUaW1lT2JqKSBmb2N1c09uRGF5KHVuZGVmaW5lZCwgZGVsdGEgKiA3KTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1RpbWVPYmogJiYgc2VsZi5ob3VyRWxlbWVudCkgc2VsZi5ob3VyRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVRpbWUoZSk7XG5cbiAgICAgICAgICAgICAgICBzZWxmLl9kZWJvdW5jZWRDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgIGlmICghaXNUaW1lT2JqKSBicmVhaztcbiAgICAgICAgICAgICAgdmFyIGVsZW1zID0gW3NlbGYuaG91ckVsZW1lbnQsIHNlbGYubWludXRlRWxlbWVudCwgc2VsZi5zZWNvbmRFbGVtZW50LCBzZWxmLmFtUE1dLmZpbHRlcihmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdmFyIGkgPSBlbGVtcy5pbmRleE9mKGUudGFyZ2V0KTtcblxuICAgICAgICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZWxlbXNbaSArIChlLnNoaWZ0S2V5ID8gLTEgOiAxKV07XG5cbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5hbVBNICE9PSB1bmRlZmluZWQgJiYgZS50YXJnZXQgPT09IHNlbGYuYW1QTSkge1xuICAgICAgICAgIHN3aXRjaCAoZS5rZXkpIHtcbiAgICAgICAgICAgIGNhc2Ugc2VsZi5sMTBuLmFtUE1bMF0uY2hhckF0KDApOlxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVswXS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1bMF07XG4gICAgICAgICAgICAgIHNldEhvdXJzRnJvbUlucHV0cygpO1xuICAgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBzZWxmLmwxMG4uYW1QTVsxXS5jaGFyQXQoMCk6XG4gICAgICAgICAgICBjYXNlIHNlbGYubDEwbi5hbVBNWzFdLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVsxXTtcbiAgICAgICAgICAgICAgc2V0SG91cnNGcm9tSW5wdXRzKCk7XG4gICAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uS2V5RG93blwiLCBlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gb25Nb3VzZU92ZXIoZWxlbSkge1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCAhPT0gMSB8fCAhZWxlbS5jbGFzc0xpc3QuY29udGFpbnMoXCJmbGF0cGlja3ItZGF5XCIpIHx8IGVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKFwiZGlzYWJsZWRcIikpIHJldHVybjtcbiAgICAgICAgdmFyIGhvdmVyRGF0ZSA9IGVsZW0uZGF0ZU9iai5nZXRUaW1lKCksXG4gICAgICAgICAgICBpbml0aWFsRGF0ZSA9IHNlbGYucGFyc2VEYXRlKHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdW5kZWZpbmVkLCB0cnVlKS5nZXRUaW1lKCksXG4gICAgICAgICAgICByYW5nZVN0YXJ0RGF0ZSA9IE1hdGgubWluKGhvdmVyRGF0ZSwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSksXG4gICAgICAgICAgICByYW5nZUVuZERhdGUgPSBNYXRoLm1heChob3ZlckRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXS5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgY29udGFpbnNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB2YXIgbWluUmFuZ2UgPSAwLFxuICAgICAgICAgICAgbWF4UmFuZ2UgPSAwO1xuXG4gICAgICAgIGZvciAodmFyIHQgPSByYW5nZVN0YXJ0RGF0ZTsgdCA8IHJhbmdlRW5kRGF0ZTsgdCArPSBkdXJhdGlvbi5EQVkpIHtcbiAgICAgICAgICBpZiAoIWlzRW5hYmxlZChuZXcgRGF0ZSh0KSwgdHJ1ZSkpIHtcbiAgICAgICAgICAgIGNvbnRhaW5zRGlzYWJsZWQgPSBjb250YWluc0Rpc2FibGVkIHx8IHQgPiByYW5nZVN0YXJ0RGF0ZSAmJiB0IDwgcmFuZ2VFbmREYXRlO1xuICAgICAgICAgICAgaWYgKHQgPCBpbml0aWFsRGF0ZSAmJiAoIW1pblJhbmdlIHx8IHQgPiBtaW5SYW5nZSkpIG1pblJhbmdlID0gdDtlbHNlIGlmICh0ID4gaW5pdGlhbERhdGUgJiYgKCFtYXhSYW5nZSB8fCB0IDwgbWF4UmFuZ2UpKSBtYXhSYW5nZSA9IHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCBzZWxmLmNvbmZpZy5zaG93TW9udGhzOyBtKyspIHtcbiAgICAgICAgICB2YXIgbW9udGggPSBzZWxmLmRheXNDb250YWluZXIuY2hpbGRyZW5bbV07XG4gICAgICAgICAgdmFyIHByZXZNb250aCA9IHNlbGYuZGF5c0NvbnRhaW5lci5jaGlsZHJlblttIC0gMV07XG5cbiAgICAgICAgICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpLCBsKSB7XG4gICAgICAgICAgICB2YXIgZGF5RWxlbSA9IG1vbnRoLmNoaWxkcmVuW2ldLFxuICAgICAgICAgICAgICAgIGRhdGUgPSBkYXlFbGVtLmRhdGVPYmo7XG4gICAgICAgICAgICB2YXIgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB2YXIgb3V0T2ZSYW5nZSA9IG1pblJhbmdlID4gMCAmJiB0aW1lc3RhbXAgPCBtaW5SYW5nZSB8fCBtYXhSYW5nZSA+IDAgJiYgdGltZXN0YW1wID4gbWF4UmFuZ2U7XG5cbiAgICAgICAgICAgIGlmIChvdXRPZlJhbmdlKSB7XG4gICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LmFkZChcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgICAgICAgIFtcImluUmFuZ2VcIiwgXCJzdGFydFJhbmdlXCIsIFwiZW5kUmFuZ2VcIl0uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgICAgICAgICAgIGRheUVsZW0uY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5zRGlzYWJsZWQgJiYgIW91dE9mUmFuZ2UpIHJldHVybiBcImNvbnRpbnVlXCI7XG5cbiAgICAgICAgICAgIFtcInN0YXJ0UmFuZ2VcIiwgXCJpblJhbmdlXCIsIFwiZW5kUmFuZ2VcIiwgXCJub3RBbGxvd2VkXCJdLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgICAgICAgZGF5RWxlbS5jbGFzc0xpc3QucmVtb3ZlKGMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtLmNsYXNzTGlzdC5hZGQoaG92ZXJEYXRlIDwgc2VsZi5zZWxlY3RlZERhdGVzWzBdLmdldFRpbWUoKSA/IFwic3RhcnRSYW5nZVwiIDogXCJlbmRSYW5nZVwiKTtcblxuICAgICAgICAgICAgaWYgKG1vbnRoLmNvbnRhaW5zKGVsZW0pIHx8ICEobSA+IDAgJiYgcHJldk1vbnRoICYmIHByZXZNb250aC5sYXN0Q2hpbGQuZGF0ZU9iai5nZXRUaW1lKCkgPj0gdGltZXN0YW1wKSkge1xuICAgICAgICAgICAgICBpZiAoaW5pdGlhbERhdGUgPCBob3ZlckRhdGUgJiYgdGltZXN0YW1wID09PSBpbml0aWFsRGF0ZSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwic3RhcnRSYW5nZVwiKTtlbHNlIGlmIChpbml0aWFsRGF0ZSA+IGhvdmVyRGF0ZSAmJiB0aW1lc3RhbXAgPT09IGluaXRpYWxEYXRlKSBkYXlFbGVtLmNsYXNzTGlzdC5hZGQoXCJlbmRSYW5nZVwiKTtcbiAgICAgICAgICAgICAgaWYgKHRpbWVzdGFtcCA+PSBtaW5SYW5nZSAmJiAobWF4UmFuZ2UgPT09IDAgfHwgdGltZXN0YW1wIDw9IG1heFJhbmdlKSAmJiBpc0JldHdlZW4odGltZXN0YW1wLCBpbml0aWFsRGF0ZSwgaG92ZXJEYXRlKSkgZGF5RWxlbS5jbGFzc0xpc3QuYWRkKFwiaW5SYW5nZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBtb250aC5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBfcmV0ID0gX2xvb3AoaSwgbCk7XG5cbiAgICAgICAgICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvblJlc2l6ZSgpIHtcbiAgICAgICAgaWYgKHNlbGYuaXNPcGVuICYmICFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgIXNlbGYuY29uZmlnLmlubGluZSkgcG9zaXRpb25DYWxlbmRhcigpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvcGVuKGUsIHBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAocG9zaXRpb25FbGVtZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBwb3NpdGlvbkVsZW1lbnQgPSBzZWxmLl9pbnB1dDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmlzTW9iaWxlID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGUudGFyZ2V0ICYmIGUudGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHNlbGYubW9iaWxlSW5wdXQgIT09IHVuZGVmaW5lZCAmJiBzZWxmLm1vYmlsZUlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLl9pbnB1dC5kaXNhYmxlZCB8fCBzZWxmLmNvbmZpZy5pbmxpbmUpIHJldHVybjtcbiAgICAgICAgdmFyIHdhc09wZW4gPSBzZWxmLmlzT3BlbjtcbiAgICAgICAgc2VsZi5pc09wZW4gPSB0cnVlO1xuXG4gICAgICAgIGlmICghd2FzT3Blbikge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuY2xhc3NMaXN0LmFkZChcIm9wZW5cIik7XG5cbiAgICAgICAgICBzZWxmLl9pbnB1dC5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpO1xuXG4gICAgICAgICAgdHJpZ2dlckV2ZW50KFwib25PcGVuXCIpO1xuICAgICAgICAgIHBvc2l0aW9uQ2FsZW5kYXIocG9zaXRpb25FbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5lbmFibGVUaW1lID09PSB0cnVlICYmIHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZi5zZXREYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCA/IG5ldyBEYXRlKHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0VGltZSgpKSA6IG5ldyBEYXRlKCksIGZhbHNlKTtcbiAgICAgICAgICAgIHNldERlZmF1bHRIb3VycygpO1xuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc2VsZi5jb25maWcuYWxsb3dJbnB1dCA9PT0gZmFsc2UgJiYgKGUgPT09IHVuZGVmaW5lZCB8fCAhc2VsZi50aW1lQ29udGFpbmVyLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIG1pbk1heERhdGVTZXR0ZXIodHlwZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICB2YXIgZGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgdHlwZSArIFwiRGF0ZVwiXSA9IHNlbGYucGFyc2VEYXRlKGRhdGUsIHNlbGYuY29uZmlnLmRhdGVGb3JtYXQpO1xuICAgICAgICAgIHZhciBpbnZlcnNlRGF0ZU9iaiA9IHNlbGYuY29uZmlnW1wiX1wiICsgKHR5cGUgPT09IFwibWluXCIgPyBcIm1heFwiIDogXCJtaW5cIikgKyBcIkRhdGVcIl07XG5cbiAgICAgICAgICBpZiAoZGF0ZU9iaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZWxmW3R5cGUgPT09IFwibWluXCIgPyBcIm1pbkRhdGVIYXNUaW1lXCIgOiBcIm1heERhdGVIYXNUaW1lXCJdID0gZGF0ZU9iai5nZXRIb3VycygpID4gMCB8fCBkYXRlT2JqLmdldE1pbnV0ZXMoKSA+IDAgfHwgZGF0ZU9iai5nZXRTZWNvbmRzKCkgPiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMpIHtcbiAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IHNlbGYuc2VsZWN0ZWREYXRlcy5maWx0ZXIoZnVuY3Rpb24gKGQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGlzRW5hYmxlZChkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoICYmIHR5cGUgPT09IFwibWluXCIpIHNldEhvdXJzRnJvbURhdGUoZGF0ZU9iaik7XG4gICAgICAgICAgICB1cGRhdGVWYWx1ZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxmLmRheXNDb250YWluZXIpIHtcbiAgICAgICAgICAgIHJlZHJhdygpO1xuICAgICAgICAgICAgaWYgKGRhdGVPYmogIT09IHVuZGVmaW5lZCkgc2VsZi5jdXJyZW50WWVhckVsZW1lbnRbdHlwZV0gPSBkYXRlT2JqLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtlbHNlIHNlbGYuY3VycmVudFllYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0eXBlKTtcbiAgICAgICAgICAgIHNlbGYuY3VycmVudFllYXJFbGVtZW50LmRpc2FibGVkID0gISFpbnZlcnNlRGF0ZU9iaiAmJiBkYXRlT2JqICE9PSB1bmRlZmluZWQgJiYgaW52ZXJzZURhdGVPYmouZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZU9iai5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VDb25maWcoKSB7XG4gICAgICAgIHZhciBib29sT3B0cyA9IFtcIndyYXBcIiwgXCJ3ZWVrTnVtYmVyc1wiLCBcImFsbG93SW5wdXRcIiwgXCJjbGlja09wZW5zXCIsIFwidGltZV8yNGhyXCIsIFwiZW5hYmxlVGltZVwiLCBcIm5vQ2FsZW5kYXJcIiwgXCJhbHRJbnB1dFwiLCBcInNob3J0aGFuZEN1cnJlbnRNb250aFwiLCBcImlubGluZVwiLCBcInN0YXRpY1wiLCBcImVuYWJsZVNlY29uZHNcIiwgXCJkaXNhYmxlTW9iaWxlXCJdO1xuICAgICAgICB2YXIgaG9va3MgPSBbXCJvbkNoYW5nZVwiLCBcIm9uQ2xvc2VcIiwgXCJvbkRheUNyZWF0ZVwiLCBcIm9uRGVzdHJveVwiLCBcIm9uS2V5RG93blwiLCBcIm9uTW9udGhDaGFuZ2VcIiwgXCJvbk9wZW5cIiwgXCJvblBhcnNlQ29uZmlnXCIsIFwib25SZWFkeVwiLCBcIm9uVmFsdWVVcGRhdGVcIiwgXCJvblllYXJDaGFuZ2VcIiwgXCJvblByZUNhbGVuZGFyUG9zaXRpb25cIl07XG4gICAgICAgIHZhciB1c2VyQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgaW5zdGFuY2VDb25maWcsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5kYXRhc2V0IHx8IHt9KSkpO1xuICAgICAgICB2YXIgZm9ybWF0cyQkMSA9IHt9O1xuICAgICAgICBzZWxmLmNvbmZpZy5wYXJzZURhdGUgPSB1c2VyQ29uZmlnLnBhcnNlRGF0ZTtcbiAgICAgICAgc2VsZi5jb25maWcuZm9ybWF0RGF0ZSA9IHVzZXJDb25maWcuZm9ybWF0RGF0ZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcImVuYWJsZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX2VuYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZW5hYmxlID0gcGFyc2VEYXRlUnVsZXMoZGF0ZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzZWxmLmNvbmZpZywgXCJkaXNhYmxlXCIsIHtcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5fZGlzYWJsZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGRhdGVzKSB7XG4gICAgICAgICAgICBzZWxmLmNvbmZpZy5fZGlzYWJsZSA9IHBhcnNlRGF0ZVJ1bGVzKGRhdGVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdGltZU1vZGUgPSB1c2VyQ29uZmlnLm1vZGUgPT09IFwidGltZVwiO1xuXG4gICAgICAgIGlmICghdXNlckNvbmZpZy5kYXRlRm9ybWF0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpKSB7XG4gICAgICAgICAgZm9ybWF0cyQkMS5kYXRlRm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKSA6IGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnLmRhdGVGb3JtYXQgKyBcIiBIOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTXCIgOiBcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VyQ29uZmlnLmFsdElucHV0ICYmICh1c2VyQ29uZmlnLmVuYWJsZVRpbWUgfHwgdGltZU1vZGUpICYmICF1c2VyQ29uZmlnLmFsdEZvcm1hdCkge1xuICAgICAgICAgIGZvcm1hdHMkJDEuYWx0Rm9ybWF0ID0gdXNlckNvbmZpZy5ub0NhbGVuZGFyIHx8IHRpbWVNb2RlID8gXCJoOmlcIiArICh1c2VyQ29uZmlnLmVuYWJsZVNlY29uZHMgPyBcIjpTIEtcIiA6IFwiIEtcIikgOiBmbGF0cGlja3IuZGVmYXVsdENvbmZpZy5hbHRGb3JtYXQgKyAoXCIgaDppXCIgKyAodXNlckNvbmZpZy5lbmFibGVTZWNvbmRzID8gXCI6U1wiIDogXCJcIikgKyBcIiBLXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pbkRhdGVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5EYXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhEYXRlU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4RGF0ZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heERhdGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heERhdGVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIG1pbk1heFRpbWVTZXR0ZXIgPSBmdW5jdGlvbiBtaW5NYXhUaW1lU2V0dGVyKHR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgc2VsZi5jb25maWdbdHlwZSA9PT0gXCJtaW5cIiA/IFwiX21pblRpbWVcIiA6IFwiX21heFRpbWVcIl0gPSBzZWxmLnBhcnNlRGF0ZSh2YWwsIFwiSDppXCIpO1xuICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYuY29uZmlnLCBcIm1pblRpbWVcIiwge1xuICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLl9taW5UaW1lO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBtaW5NYXhUaW1lU2V0dGVyKFwibWluXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZi5jb25maWcsIFwibWF4VGltZVwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuX21heFRpbWU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IG1pbk1heFRpbWVTZXR0ZXIoXCJtYXhcIilcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHVzZXJDb25maWcubW9kZSA9PT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5ub0NhbGVuZGFyID0gdHJ1ZTtcbiAgICAgICAgICBzZWxmLmNvbmZpZy5lbmFibGVUaW1lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5hc3NpZ24oc2VsZi5jb25maWcsIGZvcm1hdHMkJDEsIHVzZXJDb25maWcpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYm9vbE9wdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPSBzZWxmLmNvbmZpZ1tib29sT3B0c1tpXV0gPT09IHRydWUgfHwgc2VsZi5jb25maWdbYm9vbE9wdHNbaV1dID09PSBcInRydWVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIF9pID0gaG9va3MubGVuZ3RoOyBfaS0tOykge1xuICAgICAgICAgIGlmIChzZWxmLmNvbmZpZ1tob29rc1tfaV1dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGYuY29uZmlnW2hvb2tzW19pXV0gPSBhcnJheWlmeShzZWxmLmNvbmZpZ1tob29rc1tfaV1dIHx8IFtdKS5tYXAoYmluZFRvSW5zdGFuY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGYuaXNNb2JpbGUgPSAhc2VsZi5jb25maWcuZGlzYWJsZU1vYmlsZSAmJiAhc2VsZi5jb25maWcuaW5saW5lICYmIHNlbGYuY29uZmlnLm1vZGUgPT09IFwic2luZ2xlXCIgJiYgIXNlbGYuY29uZmlnLmRpc2FibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy5lbmFibGUubGVuZ3RoICYmICFzZWxmLmNvbmZpZy53ZWVrTnVtYmVycyAmJiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgc2VsZi5jb25maWcucGx1Z2lucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICAgICAgdmFyIHBsdWdpbkNvbmYgPSBzZWxmLmNvbmZpZy5wbHVnaW5zW19pMl0oc2VsZikgfHwge307XG5cbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGx1Z2luQ29uZikge1xuICAgICAgICAgICAgaWYgKH5ob29rcy5pbmRleE9mKGtleSkpIHtcbiAgICAgICAgICAgICAgc2VsZi5jb25maWdba2V5XSA9IGFycmF5aWZ5KHBsdWdpbkNvbmZba2V5XSkubWFwKGJpbmRUb0luc3RhbmNlKS5jb25jYXQoc2VsZi5jb25maWdba2V5XSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1c2VyQ29uZmlnW2tleV0gPT09IFwidW5kZWZpbmVkXCIpIHNlbGYuY29uZmlnW2tleV0gPSBwbHVnaW5Db25mW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50KFwib25QYXJzZUNvbmZpZ1wiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0dXBMb2NhbGUoKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VsZi5jb25maWcubG9jYWxlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBmbGF0cGlja3IubDEwbnNbc2VsZi5jb25maWcubG9jYWxlXSA9PT0gXCJ1bmRlZmluZWRcIikgc2VsZi5jb25maWcuZXJyb3JIYW5kbGVyKG5ldyBFcnJvcihcImZsYXRwaWNrcjogaW52YWxpZCBsb2NhbGUgXCIgKyBzZWxmLmNvbmZpZy5sb2NhbGUpKTtcbiAgICAgICAgc2VsZi5sMTBuID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQsIHR5cGVvZiBzZWxmLmNvbmZpZy5sb2NhbGUgPT09IFwib2JqZWN0XCIgPyBzZWxmLmNvbmZpZy5sb2NhbGUgOiBzZWxmLmNvbmZpZy5sb2NhbGUgIT09IFwiZGVmYXVsdFwiID8gZmxhdHBpY2tyLmwxMG5zW3NlbGYuY29uZmlnLmxvY2FsZV0gOiB1bmRlZmluZWQpO1xuICAgICAgICB0b2tlblJlZ2V4LksgPSBcIihcIiArIHNlbGYubDEwbi5hbVBNWzBdICsgXCJ8XCIgKyBzZWxmLmwxMG4uYW1QTVsxXSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMF0udG9Mb3dlckNhc2UoKSArIFwifFwiICsgc2VsZi5sMTBuLmFtUE1bMV0udG9Mb3dlckNhc2UoKSArIFwiKVwiO1xuICAgICAgICBzZWxmLmZvcm1hdERhdGUgPSBjcmVhdGVEYXRlRm9ybWF0dGVyKHNlbGYpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBwb3NpdGlvbkNhbGVuZGFyKGN1c3RvbVBvc2l0aW9uRWxlbWVudCkge1xuICAgICAgICBpZiAoc2VsZi5jYWxlbmRhckNvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHRyaWdnZXJFdmVudChcIm9uUHJlQ2FsZW5kYXJQb3NpdGlvblwiKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uRWxlbWVudCA9IGN1c3RvbVBvc2l0aW9uRWxlbWVudCB8fCBzZWxmLl9wb3NpdGlvbkVsZW1lbnQ7XG4gICAgICAgIHZhciBjYWxlbmRhckhlaWdodCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzZWxmLmNhbGVuZGFyQ29udGFpbmVyLmNoaWxkcmVuLCBmdW5jdGlvbiAoYWNjLCBjaGlsZCkge1xuICAgICAgICAgIHJldHVybiBhY2MgKyBjaGlsZC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH0sIDApLFxuICAgICAgICAgICAgY2FsZW5kYXJXaWR0aCA9IHNlbGYuY2FsZW5kYXJDb250YWluZXIub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBjb25maWdQb3MgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbi5zcGxpdChcIiBcIiksXG4gICAgICAgICAgICBjb25maWdQb3NWZXJ0aWNhbCA9IGNvbmZpZ1Bvc1swXSxcbiAgICAgICAgICAgIGNvbmZpZ1Bvc0hvcml6b250YWwgPSBjb25maWdQb3MubGVuZ3RoID4gMSA/IGNvbmZpZ1Bvc1sxXSA6IG51bGwsXG4gICAgICAgICAgICBpbnB1dEJvdW5kcyA9IHBvc2l0aW9uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgIGRpc3RhbmNlRnJvbUJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGlucHV0Qm91bmRzLmJvdHRvbSxcbiAgICAgICAgICAgIHNob3dPblRvcCA9IGNvbmZpZ1Bvc1ZlcnRpY2FsID09PSBcImFib3ZlXCIgfHwgY29uZmlnUG9zVmVydGljYWwgIT09IFwiYmVsb3dcIiAmJiBkaXN0YW5jZUZyb21Cb3R0b20gPCBjYWxlbmRhckhlaWdodCAmJiBpbnB1dEJvdW5kcy50b3AgPiBjYWxlbmRhckhlaWdodDtcbiAgICAgICAgdmFyIHRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCArIGlucHV0Qm91bmRzLnRvcCArICghc2hvd09uVG9wID8gcG9zaXRpb25FbGVtZW50Lm9mZnNldEhlaWdodCArIDIgOiAtY2FsZW5kYXJIZWlnaHQgLSAyKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd1RvcFwiLCAhc2hvd09uVG9wKTtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJhcnJvd0JvdHRvbVwiLCBzaG93T25Ub3ApO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcuaW5saW5lKSByZXR1cm47XG4gICAgICAgIHZhciBsZWZ0ID0gd2luZG93LnBhZ2VYT2Zmc2V0ICsgaW5wdXRCb3VuZHMubGVmdCAtIChjb25maWdQb3NIb3Jpem9udGFsICE9IG51bGwgJiYgY29uZmlnUG9zSG9yaXpvbnRhbCA9PT0gXCJjZW50ZXJcIiA/IChjYWxlbmRhcldpZHRoIC0gaW5wdXRCb3VuZHMud2lkdGgpIC8gMiA6IDApO1xuICAgICAgICB2YXIgcmlnaHQgPSB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCAtIGlucHV0Qm91bmRzLnJpZ2h0O1xuICAgICAgICB2YXIgcmlnaHRNb3N0ID0gbGVmdCArIGNhbGVuZGFyV2lkdGggPiB3aW5kb3cuZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcbiAgICAgICAgdG9nZ2xlQ2xhc3Moc2VsZi5jYWxlbmRhckNvbnRhaW5lciwgXCJyaWdodE1vc3RcIiwgcmlnaHRNb3N0KTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLnN0YXRpYykgcmV0dXJuO1xuICAgICAgICBzZWxmLmNhbGVuZGFyQ29udGFpbmVyLnN0eWxlLnRvcCA9IHRvcCArIFwicHhcIjtcblxuICAgICAgICBpZiAoIXJpZ2h0TW9zdCkge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IGxlZnQgKyBcInB4XCI7XG4gICAgICAgICAgc2VsZi5jYWxlbmRhckNvbnRhaW5lci5zdHlsZS5yaWdodCA9IFwiYXV0b1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUubGVmdCA9IFwiYXV0b1wiO1xuICAgICAgICAgIHNlbGYuY2FsZW5kYXJDb250YWluZXIuc3R5bGUucmlnaHQgPSByaWdodCArIFwicHhcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiByZWRyYXcoKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5ub0NhbGVuZGFyIHx8IHNlbGYuaXNNb2JpbGUpIHJldHVybjtcbiAgICAgICAgdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpO1xuICAgICAgICBidWlsZERheXMoKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZm9jdXNBbmRDbG9zZSgpIHtcbiAgICAgICAgc2VsZi5faW5wdXQuZm9jdXMoKTtcblxuICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUVcIikgIT09IC0xIHx8IG5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KHNlbGYuY2xvc2UsIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZWxlY3REYXRlKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHZhciBpc1NlbGVjdGFibGUgPSBmdW5jdGlvbiBpc1NlbGVjdGFibGUoZGF5KSB7XG4gICAgICAgICAgcmV0dXJuIGRheS5jbGFzc0xpc3QgJiYgZGF5LmNsYXNzTGlzdC5jb250YWlucyhcImZsYXRwaWNrci1kYXlcIikgJiYgIWRheS5jbGFzc0xpc3QuY29udGFpbnMoXCJkaXNhYmxlZFwiKSAmJiAhZGF5LmNsYXNzTGlzdC5jb250YWlucyhcIm5vdEFsbG93ZWRcIik7XG4gICAgICAgIH07XG5cbiAgICAgICAgdmFyIHQgPSBmaW5kUGFyZW50KGUudGFyZ2V0LCBpc1NlbGVjdGFibGUpO1xuICAgICAgICBpZiAodCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIHZhciB0YXJnZXQgPSB0O1xuICAgICAgICB2YXIgc2VsZWN0ZWREYXRlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogPSBuZXcgRGF0ZSh0YXJnZXQuZGF0ZU9iai5nZXRUaW1lKCkpO1xuICAgICAgICB2YXIgc2hvdWxkQ2hhbmdlTW9udGggPSAoc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPCBzZWxmLmN1cnJlbnRNb250aCB8fCBzZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA+IHNlbGYuY3VycmVudE1vbnRoICsgc2VsZi5jb25maWcuc2hvd01vbnRocyAtIDEpICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIjtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVFbGVtID0gdGFyZ2V0O1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIikgc2VsZi5zZWxlY3RlZERhdGVzID0gW3NlbGVjdGVkRGF0ZV07ZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSBpc0RhdGVTZWxlY3RlZChzZWxlY3RlZERhdGUpO1xuICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4KSBzZWxmLnNlbGVjdGVkRGF0ZXMuc3BsaWNlKHBhcnNlSW50KHNlbGVjdGVkSW5kZXgpLCAxKTtlbHNlIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDIpIHNlbGYuY2xlYXIoZmFsc2UpO1xuICAgICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcy5wdXNoKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgaWYgKGNvbXBhcmVEYXRlcyhzZWxlY3RlZERhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1swXSwgdHJ1ZSkgIT09IDApIHNlbGYuc2VsZWN0ZWREYXRlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgLSBiLmdldFRpbWUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRIb3Vyc0Zyb21JbnB1dHMoKTtcblxuICAgICAgICBpZiAoc2hvdWxkQ2hhbmdlTW9udGgpIHtcbiAgICAgICAgICB2YXIgaXNOZXdZZWFyID0gc2VsZi5jdXJyZW50WWVhciAhPT0gc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgc2VsZi5jdXJyZW50WWVhciA9IHNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgIHNlbGYuY3VycmVudE1vbnRoID0gc2VsZWN0ZWREYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgaWYgKGlzTmV3WWVhcikgdHJpZ2dlckV2ZW50KFwib25ZZWFyQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uTW9udGhDaGFuZ2VcIik7XG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIGJ1aWxkRGF5cygpO1xuICAgICAgICBzZXREZWZhdWx0SG91cnMoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUoKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmVuYWJsZVRpbWUpIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBzZWxmLnNob3dUaW1lSW5wdXQgPSB0cnVlO1xuICAgICAgICB9LCA1MCk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1vZGUgPT09IFwicmFuZ2VcIikge1xuICAgICAgICAgIGlmIChzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBvbk1vdXNlT3Zlcih0YXJnZXQpO1xuICAgICAgICAgIH0gZWxzZSB1cGRhdGVOYXZpZ2F0aW9uQ3VycmVudE1vbnRoKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXNob3VsZENoYW5nZU1vbnRoICYmIHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiAmJiBzZWxmLmNvbmZpZy5zaG93TW9udGhzID09PSAxKSBmb2N1c09uRGF5RWxlbSh0YXJnZXQpO2Vsc2Ugc2VsZi5zZWxlY3RlZERhdGVFbGVtICYmIHNlbGYuc2VsZWN0ZWREYXRlRWxlbS5mb2N1cygpO1xuICAgICAgICBpZiAoc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkKSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc2VsZi5ob3VyRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHNlbGYuaG91ckVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIH0sIDQ1MSk7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB2YXIgc2luZ2xlID0gc2VsZi5jb25maWcubW9kZSA9PT0gXCJzaW5nbGVcIiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcbiAgICAgICAgICB2YXIgcmFuZ2UgPSBzZWxmLmNvbmZpZy5tb2RlID09PSBcInJhbmdlXCIgJiYgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMiAmJiAhc2VsZi5jb25maWcuZW5hYmxlVGltZTtcblxuICAgICAgICAgIGlmIChzaW5nbGUgfHwgcmFuZ2UpIHtcbiAgICAgICAgICAgIGZvY3VzQW5kQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBDQUxMQkFDS1MgPSB7XG4gICAgICAgIGxvY2FsZTogW3NldHVwTG9jYWxlLCB1cGRhdGVXZWVrZGF5c10sXG4gICAgICAgIHNob3dNb250aHM6IFtidWlsZE1vbnRocywgc2V0Q2FsZW5kYXJXaWR0aCwgYnVpbGRXZWVrZGF5c11cbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIHNldChvcHRpb24sIHZhbHVlKSB7XG4gICAgICAgIGlmIChvcHRpb24gIT09IG51bGwgJiYgdHlwZW9mIG9wdGlvbiA9PT0gXCJvYmplY3RcIikgT2JqZWN0LmFzc2lnbihzZWxmLmNvbmZpZywgb3B0aW9uKTtlbHNlIHtcbiAgICAgICAgICBzZWxmLmNvbmZpZ1tvcHRpb25dID0gdmFsdWU7XG4gICAgICAgICAgaWYgKENBTExCQUNLU1tvcHRpb25dICE9PSB1bmRlZmluZWQpIENBTExCQUNLU1tvcHRpb25dLmZvckVhY2goZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgIHJldHVybiB4KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZi5yZWRyYXcoKTtcbiAgICAgICAganVtcFRvRGF0ZSgpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXRTZWxlY3RlZERhdGUoaW5wdXREYXRlLCBmb3JtYXQpIHtcbiAgICAgICAgdmFyIGRhdGVzID0gW107XG4gICAgICAgIGlmIChpbnB1dERhdGUgaW5zdGFuY2VvZiBBcnJheSkgZGF0ZXMgPSBpbnB1dERhdGUubWFwKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGYucGFyc2VEYXRlKGQsIGZvcm1hdCk7XG4gICAgICAgIH0pO2Vsc2UgaWYgKGlucHV0RGF0ZSBpbnN0YW5jZW9mIERhdGUgfHwgdHlwZW9mIGlucHV0RGF0ZSA9PT0gXCJudW1iZXJcIikgZGF0ZXMgPSBbc2VsZi5wYXJzZURhdGUoaW5wdXREYXRlLCBmb3JtYXQpXTtlbHNlIGlmICh0eXBlb2YgaW5wdXREYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgc3dpdGNoIChzZWxmLmNvbmZpZy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwic2luZ2xlXCI6XG4gICAgICAgICAgICBjYXNlIFwidGltZVwiOlxuICAgICAgICAgICAgICBkYXRlcyA9IFtzZWxmLnBhcnNlRGF0ZShpbnB1dERhdGUsIGZvcm1hdCldO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcIm11bHRpcGxlXCI6XG4gICAgICAgICAgICAgIGRhdGVzID0gaW5wdXREYXRlLnNwbGl0KHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwicmFuZ2VcIjpcbiAgICAgICAgICAgICAgZGF0ZXMgPSBpbnB1dERhdGUuc3BsaXQoc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yKS5tYXAoZnVuY3Rpb24gKGRhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJzZURhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBzZWxmLmNvbmZpZy5lcnJvckhhbmRsZXIobmV3IEVycm9yKFwiSW52YWxpZCBkYXRlIHN1cHBsaWVkOiBcIiArIEpTT04uc3RyaW5naWZ5KGlucHV0RGF0ZSkpKTtcbiAgICAgICAgc2VsZi5zZWxlY3RlZERhdGVzID0gZGF0ZXMuZmlsdGVyKGZ1bmN0aW9uIChkKSB7XG4gICAgICAgICAgcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmIGlzRW5hYmxlZChkLCBmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubW9kZSA9PT0gXCJyYW5nZVwiKSBzZWxmLnNlbGVjdGVkRGF0ZXMuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgIHJldHVybiBhLmdldFRpbWUoKSAtIGIuZ2V0VGltZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2V0RGF0ZShkYXRlLCB0cmlnZ2VyQ2hhbmdlLCBmb3JtYXQpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3JtYXQgPT09IHZvaWQgMCkge1xuICAgICAgICAgIGZvcm1hdCA9IHNlbGYuY29uZmlnLmRhdGVGb3JtYXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0ZSAhPT0gMCAmJiAhZGF0ZSB8fCBkYXRlIGluc3RhbmNlb2YgQXJyYXkgJiYgZGF0ZS5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuICAgICAgICBzZXRTZWxlY3RlZERhdGUoZGF0ZSwgZm9ybWF0KTtcbiAgICAgICAgc2VsZi5zaG93VGltZUlucHV0ID0gc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDA7XG4gICAgICAgIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBzZWxmLnJlZHJhdygpO1xuICAgICAgICBqdW1wVG9EYXRlKCk7XG4gICAgICAgIHNldEhvdXJzRnJvbURhdGUoKTtcbiAgICAgICAgdXBkYXRlVmFsdWUodHJpZ2dlckNoYW5nZSk7XG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlKSB0cmlnZ2VyRXZlbnQoXCJvbkNoYW5nZVwiKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gcGFyc2VEYXRlUnVsZXMoYXJyKSB7XG4gICAgICAgIHJldHVybiBhcnIuc2xpY2UoKS5tYXAoZnVuY3Rpb24gKHJ1bGUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHJ1bGUgPT09IFwibnVtYmVyXCIgfHwgcnVsZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlRGF0ZShydWxlLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocnVsZSAmJiB0eXBlb2YgcnVsZSA9PT0gXCJvYmplY3RcIiAmJiBydWxlLmZyb20gJiYgcnVsZS50bykgcmV0dXJuIHtcbiAgICAgICAgICAgIGZyb206IHNlbGYucGFyc2VEYXRlKHJ1bGUuZnJvbSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRvOiBzZWxmLnBhcnNlRGF0ZShydWxlLnRvLCB1bmRlZmluZWQpXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBydWxlO1xuICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwRGF0ZXMoKSB7XG4gICAgICAgIHNlbGYuc2VsZWN0ZWREYXRlcyA9IFtdO1xuICAgICAgICBzZWxmLm5vdyA9IHNlbGYucGFyc2VEYXRlKHNlbGYuY29uZmlnLm5vdykgfHwgbmV3IERhdGUoKTtcbiAgICAgICAgdmFyIHByZWxvYWRlZERhdGUgPSBzZWxmLmNvbmZpZy5kZWZhdWx0RGF0ZSB8fCAoc2VsZi5pbnB1dC5wbGFjZWhvbGRlci5sZW5ndGggPiAwICYmIHNlbGYuaW5wdXQudmFsdWUgPT09IHNlbGYuaW5wdXQucGxhY2Vob2xkZXIgPyBudWxsIDogc2VsZi5pbnB1dC52YWx1ZSk7XG4gICAgICAgIGlmIChwcmVsb2FkZWREYXRlKSBzZXRTZWxlY3RlZERhdGUocHJlbG9hZGVkRGF0ZSwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIHZhciBpbml0aWFsRGF0ZSA9IHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwID8gc2VsZi5zZWxlY3RlZERhdGVzWzBdIDogc2VsZi5jb25maWcubWluRGF0ZSAmJiBzZWxmLmNvbmZpZy5taW5EYXRlLmdldFRpbWUoKSA+IHNlbGYubm93LmdldFRpbWUoKSA/IHNlbGYuY29uZmlnLm1pbkRhdGUgOiBzZWxmLmNvbmZpZy5tYXhEYXRlICYmIHNlbGYuY29uZmlnLm1heERhdGUuZ2V0VGltZSgpIDwgc2VsZi5ub3cuZ2V0VGltZSgpID8gc2VsZi5jb25maWcubWF4RGF0ZSA6IHNlbGYubm93O1xuICAgICAgICBzZWxmLmN1cnJlbnRZZWFyID0gaW5pdGlhbERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgc2VsZi5jdXJyZW50TW9udGggPSBpbml0aWFsRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHNlbGYubGF0ZXN0U2VsZWN0ZWREYXRlT2JqID0gc2VsZi5zZWxlY3RlZERhdGVzWzBdO1xuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluVGltZSAhPT0gdW5kZWZpbmVkKSBzZWxmLmNvbmZpZy5taW5UaW1lID0gc2VsZi5wYXJzZURhdGUoc2VsZi5jb25maWcubWluVGltZSwgXCJIOmlcIik7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tYXhUaW1lICE9PSB1bmRlZmluZWQpIHNlbGYuY29uZmlnLm1heFRpbWUgPSBzZWxmLnBhcnNlRGF0ZShzZWxmLmNvbmZpZy5tYXhUaW1lLCBcIkg6aVwiKTtcbiAgICAgICAgc2VsZi5taW5EYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWluRGF0ZSAmJiAoc2VsZi5jb25maWcubWluRGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5taW5EYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWluRGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgc2VsZi5tYXhEYXRlSGFzVGltZSA9ICEhc2VsZi5jb25maWcubWF4RGF0ZSAmJiAoc2VsZi5jb25maWcubWF4RGF0ZS5nZXRIb3VycygpID4gMCB8fCBzZWxmLmNvbmZpZy5tYXhEYXRlLmdldE1pbnV0ZXMoKSA+IDAgfHwgc2VsZi5jb25maWcubWF4RGF0ZS5nZXRTZWNvbmRzKCkgPiAwKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsIFwic2hvd1RpbWVJbnB1dFwiLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2hvd1RpbWVJbnB1dDtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KGJvb2wpIHtcbiAgICAgICAgICAgIHNlbGYuX3Nob3dUaW1lSW5wdXQgPSBib29sO1xuICAgICAgICAgICAgaWYgKHNlbGYuY2FsZW5kYXJDb250YWluZXIpIHRvZ2dsZUNsYXNzKHNlbGYuY2FsZW5kYXJDb250YWluZXIsIFwic2hvd1RpbWVJbnB1dFwiLCBib29sKTtcbiAgICAgICAgICAgIHNlbGYuaXNPcGVuICYmIHBvc2l0aW9uQ2FsZW5kYXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBzZXR1cElucHV0cygpIHtcbiAgICAgICAgc2VsZi5pbnB1dCA9IHNlbGYuY29uZmlnLndyYXAgPyBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJbZGF0YS1pbnB1dF1cIikgOiBlbGVtZW50O1xuXG4gICAgICAgIGlmICghc2VsZi5pbnB1dCkge1xuICAgICAgICAgIHNlbGYuY29uZmlnLmVycm9ySGFuZGxlcihuZXcgRXJyb3IoXCJJbnZhbGlkIGlucHV0IGVsZW1lbnQgc3BlY2lmaWVkXCIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmlucHV0Ll90eXBlID0gc2VsZi5pbnB1dC50eXBlO1xuICAgICAgICBzZWxmLmlucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgc2VsZi5pbnB1dC5jbGFzc0xpc3QuYWRkKFwiZmxhdHBpY2tyLWlucHV0XCIpO1xuICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuaW5wdXQ7XG5cbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLmFsdElucHV0KSB7XG4gICAgICAgICAgc2VsZi5hbHRJbnB1dCA9IGNyZWF0ZUVsZW1lbnQoc2VsZi5pbnB1dC5ub2RlTmFtZSwgc2VsZi5pbnB1dC5jbGFzc05hbWUgKyBcIiBcIiArIHNlbGYuY29uZmlnLmFsdElucHV0Q2xhc3MpO1xuICAgICAgICAgIHNlbGYuX2lucHV0ID0gc2VsZi5hbHRJbnB1dDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnBsYWNlaG9sZGVyID0gc2VsZi5pbnB1dC5wbGFjZWhvbGRlcjtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LmRpc2FibGVkID0gc2VsZi5pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnRhYkluZGV4ID0gc2VsZi5pbnB1dC50YWJJbmRleDtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICBzZWxmLmlucHV0LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJoaWRkZW5cIik7XG4gICAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5zdGF0aWMgJiYgc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYuYWx0SW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzZWxmLmNvbmZpZy5hbGxvd0lucHV0KSBzZWxmLl9pbnB1dC5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCBcInJlYWRvbmx5XCIpO1xuICAgICAgICBzZWxmLl9wb3NpdGlvbkVsZW1lbnQgPSBzZWxmLmNvbmZpZy5wb3NpdGlvbkVsZW1lbnQgfHwgc2VsZi5faW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHNldHVwTW9iaWxlKCkge1xuICAgICAgICB2YXIgaW5wdXRUeXBlID0gc2VsZi5jb25maWcuZW5hYmxlVGltZSA/IHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgPyBcInRpbWVcIiA6IFwiZGF0ZXRpbWUtbG9jYWxcIiA6IFwiZGF0ZVwiO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0ID0gY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHNlbGYuaW5wdXQuY2xhc3NOYW1lICsgXCIgZmxhdHBpY2tyLW1vYmlsZVwiKTtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5zdGVwID0gc2VsZi5pbnB1dC5nZXRBdHRyaWJ1dGUoXCJzdGVwXCIpIHx8IFwiYW55XCI7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQudGFiSW5kZXggPSAxO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnR5cGUgPSBpbnB1dFR5cGU7XG4gICAgICAgIHNlbGYubW9iaWxlSW5wdXQuZGlzYWJsZWQgPSBzZWxmLmlucHV0LmRpc2FibGVkO1xuICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnJlcXVpcmVkID0gc2VsZi5pbnB1dC5yZXF1aXJlZDtcbiAgICAgICAgc2VsZi5tb2JpbGVJbnB1dC5wbGFjZWhvbGRlciA9IHNlbGYuaW5wdXQucGxhY2Vob2xkZXI7XG4gICAgICAgIHNlbGYubW9iaWxlRm9ybWF0U3RyID0gaW5wdXRUeXBlID09PSBcImRhdGV0aW1lLWxvY2FsXCIgPyBcIlktbS1kXFxcXFRIOmk6U1wiIDogaW5wdXRUeXBlID09PSBcImRhdGVcIiA/IFwiWS1tLWRcIiA6IFwiSDppOlNcIjtcblxuICAgICAgICBpZiAoc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LmRlZmF1bHRWYWx1ZSA9IHNlbGYubW9iaWxlSW5wdXQudmFsdWUgPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5zZWxlY3RlZERhdGVzWzBdLCBzZWxmLm1vYmlsZUZvcm1hdFN0cik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZi5jb25maWcubWluRGF0ZSkgc2VsZi5tb2JpbGVJbnB1dC5taW4gPSBzZWxmLmZvcm1hdERhdGUoc2VsZi5jb25maWcubWluRGF0ZSwgXCJZLW0tZFwiKTtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm1heERhdGUpIHNlbGYubW9iaWxlSW5wdXQubWF4ID0gc2VsZi5mb3JtYXREYXRlKHNlbGYuY29uZmlnLm1heERhdGUsIFwiWS1tLWRcIik7XG4gICAgICAgIHNlbGYuaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHNlbGYuYWx0SW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc2VsZi5pbnB1dC5wYXJlbnROb2RlKSBzZWxmLmlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNlbGYubW9iaWxlSW5wdXQsIHNlbGYuaW5wdXQubmV4dFNpYmxpbmcpO1xuICAgICAgICB9IGNhdGNoIChfYSkge31cblxuICAgICAgICBiaW5kKHNlbGYubW9iaWxlSW5wdXQsIFwiY2hhbmdlXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgc2VsZi5zZXREYXRlKGUudGFyZ2V0LnZhbHVlLCBmYWxzZSwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2hhbmdlXCIpO1xuICAgICAgICAgIHRyaWdnZXJFdmVudChcIm9uQ2xvc2VcIik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0b2dnbGUoZSkge1xuICAgICAgICBpZiAoc2VsZi5pc09wZW4gPT09IHRydWUpIHJldHVybiBzZWxmLmNsb3NlKCk7XG4gICAgICAgIHNlbGYub3BlbihlKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdHJpZ2dlckV2ZW50KGV2ZW50LCBkYXRhKSB7XG4gICAgICAgIHZhciBob29rcyA9IHNlbGYuY29uZmlnW2V2ZW50XTtcblxuICAgICAgICBpZiAoaG9va3MgIT09IHVuZGVmaW5lZCAmJiBob29rcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGhvb2tzW2ldICYmIGkgPCBob29rcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaG9va3NbaV0oc2VsZi5zZWxlY3RlZERhdGVzLCBzZWxmLmlucHV0LnZhbHVlLCBzZWxmLCBkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQgPT09IFwib25DaGFuZ2VcIikge1xuICAgICAgICAgIHNlbGYuaW5wdXQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudChcImNoYW5nZVwiKSk7XG4gICAgICAgICAgc2VsZi5pbnB1dC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KFwiaW5wdXRcIikpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZUV2ZW50KG5hbWUpIHtcbiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpO1xuICAgICAgICBlLmluaXRFdmVudChuYW1lLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGlzRGF0ZVNlbGVjdGVkKGRhdGUpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxmLnNlbGVjdGVkRGF0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoY29tcGFyZURhdGVzKHNlbGYuc2VsZWN0ZWREYXRlc1tpXSwgZGF0ZSkgPT09IDApIHJldHVybiBcIlwiICsgaTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gaXNEYXRlSW5SYW5nZShkYXRlKSB7XG4gICAgICAgIGlmIChzZWxmLmNvbmZpZy5tb2RlICE9PSBcInJhbmdlXCIgfHwgc2VsZi5zZWxlY3RlZERhdGVzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlcyhkYXRlLCBzZWxmLnNlbGVjdGVkRGF0ZXNbMF0pID49IDAgJiYgY29tcGFyZURhdGVzKGRhdGUsIHNlbGYuc2VsZWN0ZWREYXRlc1sxXSkgPD0gMDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlTmF2aWdhdGlvbkN1cnJlbnRNb250aCgpIHtcbiAgICAgICAgaWYgKHNlbGYuY29uZmlnLm5vQ2FsZW5kYXIgfHwgc2VsZi5pc01vYmlsZSB8fCAhc2VsZi5tb250aE5hdikgcmV0dXJuO1xuICAgICAgICBzZWxmLnllYXJFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh5ZWFyRWxlbWVudCwgaSkge1xuICAgICAgICAgIHZhciBkID0gbmV3IERhdGUoc2VsZi5jdXJyZW50WWVhciwgc2VsZi5jdXJyZW50TW9udGgsIDEpO1xuICAgICAgICAgIGQuc2V0TW9udGgoc2VsZi5jdXJyZW50TW9udGggKyBpKTtcbiAgICAgICAgICBzZWxmLm1vbnRoRWxlbWVudHNbaV0udGV4dENvbnRlbnQgPSBtb250aFRvU3RyKGQuZ2V0TW9udGgoKSwgc2VsZi5jb25maWcuc2hvcnRoYW5kQ3VycmVudE1vbnRoLCBzZWxmLmwxMG4pICsgXCIgXCI7XG4gICAgICAgICAgeWVhckVsZW1lbnQudmFsdWUgPSBkLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGYuX2hpZGVQcmV2TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1pbkRhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggPD0gc2VsZi5jb25maWcubWluRGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA8IHNlbGYuY29uZmlnLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIHNlbGYuX2hpZGVOZXh0TW9udGhBcnJvdyA9IHNlbGYuY29uZmlnLm1heERhdGUgIT09IHVuZGVmaW5lZCAmJiAoc2VsZi5jdXJyZW50WWVhciA9PT0gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRGdWxsWWVhcigpID8gc2VsZi5jdXJyZW50TW9udGggKyAxID4gc2VsZi5jb25maWcubWF4RGF0ZS5nZXRNb250aCgpIDogc2VsZi5jdXJyZW50WWVhciA+IHNlbGYuY29uZmlnLm1heERhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbHVlKHRyaWdnZXJDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2UgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDApIHJldHVybiBzZWxmLmNsZWFyKHRyaWdnZXJDaGFuZ2UpO1xuXG4gICAgICAgIGlmIChzZWxmLm1vYmlsZUlucHV0ICE9PSB1bmRlZmluZWQgJiYgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIHtcbiAgICAgICAgICBzZWxmLm1vYmlsZUlucHV0LnZhbHVlID0gc2VsZi5sYXRlc3RTZWxlY3RlZERhdGVPYmogIT09IHVuZGVmaW5lZCA/IHNlbGYuZm9ybWF0RGF0ZShzZWxmLmxhdGVzdFNlbGVjdGVkRGF0ZU9iaiwgc2VsZi5tb2JpbGVGb3JtYXRTdHIpIDogXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBqb2luQ2hhciA9IHNlbGYuY29uZmlnLm1vZGUgIT09IFwicmFuZ2VcIiA/IHNlbGYuY29uZmlnLmNvbmp1bmN0aW9uIDogc2VsZi5sMTBuLnJhbmdlU2VwYXJhdG9yO1xuICAgICAgICBzZWxmLmlucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgIHJldHVybiBzZWxmLmZvcm1hdERhdGUoZE9iaiwgc2VsZi5jb25maWcuZGF0ZUZvcm1hdCk7XG4gICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuXG4gICAgICAgIGlmIChzZWxmLmFsdElucHV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWxmLmFsdElucHV0LnZhbHVlID0gc2VsZi5zZWxlY3RlZERhdGVzLm1hcChmdW5jdGlvbiAoZE9iaikge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGYuZm9ybWF0RGF0ZShkT2JqLCBzZWxmLmNvbmZpZy5hbHRGb3JtYXQpO1xuICAgICAgICAgIH0pLmpvaW4oam9pbkNoYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UgIT09IGZhbHNlKSB0cmlnZ2VyRXZlbnQoXCJvblZhbHVlVXBkYXRlXCIpO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBvbk1vbnRoTmF2Q2xpY2soZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHZhciBpc1ByZXZNb250aCA9IHNlbGYucHJldk1vbnRoTmF2LmNvbnRhaW5zKGUudGFyZ2V0KTtcbiAgICAgICAgdmFyIGlzTmV4dE1vbnRoID0gc2VsZi5uZXh0TW9udGhOYXYuY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICAgIGlmIChpc1ByZXZNb250aCB8fCBpc05leHRNb250aCkge1xuICAgICAgICAgIGNoYW5nZU1vbnRoKGlzUHJldk1vbnRoID8gLTEgOiAxKTtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxmLnllYXJFbGVtZW50cy5pbmRleE9mKGUudGFyZ2V0KSA+PSAwKSB7XG4gICAgICAgICAgZS50YXJnZXQuc2VsZWN0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dVcFwiKSkge1xuICAgICAgICAgIHNlbGYuY2hhbmdlWWVhcihzZWxmLmN1cnJlbnRZZWFyICsgMSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiYXJyb3dEb3duXCIpKSB7XG4gICAgICAgICAgc2VsZi5jaGFuZ2VZZWFyKHNlbGYuY3VycmVudFllYXIgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0aW1lV3JhcHBlcihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdmFyIGlzS2V5RG93biA9IGUudHlwZSA9PT0gXCJrZXlkb3duXCIsXG4gICAgICAgICAgICBpbnB1dCA9IGUudGFyZ2V0O1xuXG4gICAgICAgIGlmIChzZWxmLmFtUE0gIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCA9PT0gc2VsZi5hbVBNKSB7XG4gICAgICAgICAgc2VsZi5hbVBNLnRleHRDb250ZW50ID0gc2VsZi5sMTBuLmFtUE1baW50KHNlbGYuYW1QTS50ZXh0Q29udGVudCA9PT0gc2VsZi5sMTBuLmFtUE1bMF0pXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBtaW4gPSBwYXJzZUZsb2F0KGlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtbWluXCIpKSxcbiAgICAgICAgICAgIG1heCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1tYXhcIikpLFxuICAgICAgICAgICAgc3RlcCA9IHBhcnNlRmxvYXQoaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1zdGVwXCIpKSxcbiAgICAgICAgICAgIGN1clZhbHVlID0gcGFyc2VJbnQoaW5wdXQudmFsdWUsIDEwKSxcbiAgICAgICAgICAgIGRlbHRhID0gZS5kZWx0YSB8fCAoaXNLZXlEb3duID8gZS53aGljaCA9PT0gMzggPyAxIDogLTEgOiAwKTtcbiAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VyVmFsdWUgKyBzdGVwICogZGVsdGE7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dC52YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpbnB1dC52YWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICB2YXIgaXNIb3VyRWxlbSA9IGlucHV0ID09PSBzZWxmLmhvdXJFbGVtZW50LFxuICAgICAgICAgICAgICBpc01pbnV0ZUVsZW0gPSBpbnB1dCA9PT0gc2VsZi5taW51dGVFbGVtZW50O1xuXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlIDwgbWluKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IG1heCArIG5ld1ZhbHVlICsgaW50KCFpc0hvdXJFbGVtKSArIChpbnQoaXNIb3VyRWxlbSkgJiYgaW50KCFzZWxmLmFtUE0pKTtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgLTEsIHNlbGYuaG91ckVsZW1lbnQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobmV3VmFsdWUgPiBtYXgpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gaW5wdXQgPT09IHNlbGYuaG91ckVsZW1lbnQgPyBuZXdWYWx1ZSAtIG1heCAtIGludCghc2VsZi5hbVBNKSA6IG1pbjtcbiAgICAgICAgICAgIGlmIChpc01pbnV0ZUVsZW0pIGluY3JlbWVudE51bUlucHV0KHVuZGVmaW5lZCwgMSwgc2VsZi5ob3VyRWxlbWVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGYuYW1QTSAmJiBpc0hvdXJFbGVtICYmIChzdGVwID09PSAxID8gbmV3VmFsdWUgKyBjdXJWYWx1ZSA9PT0gMjMgOiBNYXRoLmFicyhuZXdWYWx1ZSAtIGN1clZhbHVlKSA+IHN0ZXApKSB7XG4gICAgICAgICAgICBzZWxmLmFtUE0udGV4dENvbnRlbnQgPSBzZWxmLmwxMG4uYW1QTVtpbnQoc2VsZi5hbVBNLnRleHRDb250ZW50ID09PSBzZWxmLmwxMG4uYW1QTVswXSldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0LnZhbHVlID0gcGFkKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbml0KCk7XG4gICAgICByZXR1cm4gc2VsZjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBfZmxhdHBpY2tyKG5vZGVMaXN0LCBjb25maWcpIHtcbiAgICAgIHZhciBub2RlcyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5vZGVMaXN0KTtcbiAgICAgIHZhciBpbnN0YW5jZXMgPSBbXTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlKFwiZGF0YS1mcC1vbWl0XCIpICE9PSBudWxsKSBjb250aW51ZTtcblxuICAgICAgICAgIGlmIChub2RlLl9mbGF0cGlja3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyLmRlc3Ryb3koKTtcblxuICAgICAgICAgICAgbm9kZS5fZmxhdHBpY2tyID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5vZGUuX2ZsYXRwaWNrciA9IEZsYXRwaWNrckluc3RhbmNlKG5vZGUsIGNvbmZpZyB8fCB7fSk7XG4gICAgICAgICAgaW5zdGFuY2VzLnB1c2gobm9kZS5fZmxhdHBpY2tyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluc3RhbmNlcy5sZW5ndGggPT09IDEgPyBpbnN0YW5jZXNbMF0gOiBpbnN0YW5jZXM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgSFRNTENvbGxlY3Rpb24ucHJvdG90eXBlLmZsYXRwaWNrciA9IE5vZGVMaXN0LnByb3RvdHlwZS5mbGF0cGlja3IgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBfZmxhdHBpY2tyKHRoaXMsIGNvbmZpZyk7XG4gICAgICB9O1xuXG4gICAgICBIVE1MRWxlbWVudC5wcm90b3R5cGUuZmxhdHBpY2tyID0gZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gX2ZsYXRwaWNrcihbdGhpc10sIGNvbmZpZyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBmbGF0cGlja3IgPSBmdW5jdGlvbiBmbGF0cGlja3Ioc2VsZWN0b3IsIGNvbmZpZykge1xuICAgICAgaWYgKHNlbGVjdG9yIGluc3RhbmNlb2YgTm9kZUxpc3QpIHJldHVybiBfZmxhdHBpY2tyKHNlbGVjdG9yLCBjb25maWcpO2Vsc2UgaWYgKHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9mbGF0cGlja3Iod2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpLCBjb25maWcpO1xuICAgICAgcmV0dXJuIF9mbGF0cGlja3IoW3NlbGVjdG9yXSwgY29uZmlnKTtcbiAgICB9O1xuXG4gICAgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcgPSBkZWZhdWx0cztcbiAgICBmbGF0cGlja3IubDEwbnMgPSB7XG4gICAgICBlbjogT2JqZWN0LmFzc2lnbih7fSwgZW5nbGlzaCksXG4gICAgICBkZWZhdWx0OiBPYmplY3QuYXNzaWduKHt9LCBlbmdsaXNoKVxuICAgIH07XG5cbiAgICBmbGF0cGlja3IubG9jYWxpemUgPSBmdW5jdGlvbiAobDEwbikge1xuICAgICAgZmxhdHBpY2tyLmwxMG5zLmRlZmF1bHQgPSBPYmplY3QuYXNzaWduKHt9LCBmbGF0cGlja3IubDEwbnMuZGVmYXVsdCwgbDEwbik7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5zZXREZWZhdWx0cyA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGZsYXRwaWNrci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgZmxhdHBpY2tyLmRlZmF1bHRDb25maWcsIGNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZsYXRwaWNrci5wYXJzZURhdGUgPSBjcmVhdGVEYXRlUGFyc2VyKHt9KTtcbiAgICBmbGF0cGlja3IuZm9ybWF0RGF0ZSA9IGNyZWF0ZURhdGVGb3JtYXR0ZXIoe30pO1xuICAgIGZsYXRwaWNrci5jb21wYXJlRGF0ZXMgPSBjb21wYXJlRGF0ZXM7XG5cbiAgICBpZiAodHlwZW9mIGpRdWVyeSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgalF1ZXJ5LmZuLmZsYXRwaWNrciA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIF9mbGF0cGlja3IodGhpcywgY29uZmlnKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgRGF0ZS5wcm90b3R5cGUuZnBfaW5jciA9IGZ1bmN0aW9uIChkYXlzKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLCB0aGlzLmdldE1vbnRoKCksIHRoaXMuZ2V0RGF0ZSgpICsgKHR5cGVvZiBkYXlzID09PSBcInN0cmluZ1wiID8gcGFyc2VJbnQoZGF5cywgMTApIDogZGF5cykpO1xuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmZsYXRwaWNrciA9IGZsYXRwaWNrcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmxhdHBpY2tyO1xuXG59KSkpO1xuXG5cbi8qKiovIH0pLFxuLyogMjkgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXG52YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMzApO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihmYWxzZSkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vY3NzLWxvYWRlci9pbmRleC5qcz8/cmVmLS0xLTEhLi9mbGF0cGlja3IuY3NzXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59XG5cbi8qKiovIH0pLFxuLyogMzAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5mbGF0cGlja3ItY2FsZW5kYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvcGFjaXR5OjA7ZGlzcGxheTpub25lO3RleHQtYWxpZ246Y2VudGVyO3Zpc2liaWxpdHk6aGlkZGVuO3BhZGRpbmc6MDstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lO2RpcmVjdGlvbjpsdHI7Ym9yZGVyOjA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTYsLTFweCAwIDAgI2U2ZTZlNiwwIDFweCAwICNlNmU2ZTYsMCAtMXB4IDAgI2U2ZTZlNiwwIDNweCAxM3B4IHJnYmEoMCwwLDAsLjA4KTtib3gtc2hhZG93OjFweCAwIDAgI2U2ZTZlNiwtMXB4IDAgMCAjZTZlNmU2LDAgMXB4IDAgI2U2ZTZlNiwwIC0xcHggMCAjZTZlNmU2LDAgM3B4IDEzcHggcmdiYSgwLDAsMCwuMDgpfS5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lLC5mbGF0cGlja3ItY2FsZW5kYXIub3BlbntvcGFjaXR5OjE7bWF4LWhlaWdodDo2NDBweDt2aXNpYmlsaXR5OnZpc2libGV9LmZsYXRwaWNrci1jYWxlbmRhci5vcGVue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6OTk5OTl9LmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW57LXdlYmtpdC1hbmltYXRpb246ZnBGYWRlSW5Eb3duIC4zcyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO2FuaW1hdGlvbjpmcEZhZGVJbkRvd24gLjNzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSl9LmZsYXRwaWNrci1jYWxlbmRhci5pbmxpbmV7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MnB4fS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGlje3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyAycHgpfS5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW57ei1pbmRleDo5OTk7ZGlzcGxheTpibG9ja30uZmxhdHBpY2tyLWNhbGVuZGFyLm11bHRpTW9udGggLmZsYXRwaWNrci1kYXlzIC5kYXlDb250YWluZXI6bnRoLWNoaWxkKG4rMSkgLmZsYXRwaWNrci1kYXkuaW5SYW5nZTpudGgtY2hpbGQoN24rNyl7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzIpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzEpey13ZWJraXQtYm94LXNoYWRvdzotMnB4IDAgMCAjZTZlNmU2LDVweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0ycHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2fS5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1RpbWUgLmRheUNvbnRhaW5lciwuZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uZmxhdHBpY2tyLWNhbGVuZGFyIC5oYXNXZWVrcyAuZGF5Q29udGFpbmVye2JvcmRlci1sZWZ0OjB9LmZsYXRwaWNrci1jYWxlbmRhci5zaG93VGltZUlucHV0Lmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDo0MHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5ub0NhbGVuZGFyLmhhc1RpbWUgLmZsYXRwaWNrci10aW1le2hlaWdodDphdXRvfS5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIsLmZsYXRwaWNrci1jYWxlbmRhcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OlxcXCJcXFwiO2hlaWdodDowO3dpZHRoOjA7bGVmdDoyMnB4fS5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyLC5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmJlZm9yZXtsZWZ0OmF1dG87cmlnaHQ6MjJweH0uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZXtib3JkZXItd2lkdGg6NXB4O21hcmdpbjowIC01cHh9LmZsYXRwaWNrci1jYWxlbmRhcjphZnRlcntib3JkZXItd2lkdGg6NHB4O21hcmdpbjowIC00cHh9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3R0b206MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZXtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlcntib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciwuZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXt0b3A6MTAwJX0uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93Qm90dG9tOmJlZm9yZXtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlcntib3JkZXItdG9wLWNvbG9yOiNmZmZ9LmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1c3tvdXRsaW5lOjB9LmZsYXRwaWNrci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGF0cGlja3ItbW9udGhze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1tb250aHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnJnYmEoMCwwLDAsLjkpO2ZpbGw6cmdiYSgwLDAsMCwuOSk7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoe3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xpbmUtaGVpZ2h0OjE2cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzoxMHB4O3otaW5kZXg6Mztjb2xvcjpyZ2JhKDAsMCwwLC45KTtmaWxsOnJnYmEoMCwwLDAsLjkpfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5kaXNhYmxlZCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZGlzYWJsZWR7ZGlzcGxheTpub25lfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBpLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLXByZXYtbW9udGh7bGVmdDowfS5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCwuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGguZmxhdHBpY2tyLW5leHQtbW9udGh7cmlnaHQ6MH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoOmhvdmVye2NvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1uZXh0LW1vbnRoOmhvdmVyIHN2ZywuZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIgc3Zne2ZpbGw6I2Y2NDc0N30uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnLC5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmd7d2lkdGg6MTRweDtoZWlnaHQ6MTRweH0uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHBhdGgsLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIHN2ZyBwYXRoey13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xczt0cmFuc2l0aW9uOmZpbGwgLjFzO2ZpbGw6aW5oZXJpdH0ubnVtSW5wdXRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgaW5wdXQsLm51bUlucHV0V3JhcHBlciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5udW1JbnB1dFdyYXBwZXIgaW5wdXR7d2lkdGg6MTAwJX0ubnVtSW5wdXRXcmFwcGVyIGlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5udW1JbnB1dFdyYXBwZXIgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHg7cGFkZGluZzowIDRweCAwIDJweDtoZWlnaHQ6NTAlO2xpbmUtaGVpZ2h0OjUwJTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC4xNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5udW1JbnB1dFdyYXBwZXIgc3Bhbjpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpfS5udW1JbnB1dFdyYXBwZXIgc3BhbjphY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yKX0ubnVtSW5wdXRXcmFwcGVyIHNwYW46YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OlxcXCJcXFwiO3Bvc2l0aW9uOmFic29sdXRlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1Vwe3RvcDowO2JvcmRlci1ib3R0b206MH0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlcntib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LC42KTt0b3A6MjYlfS5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd257dG9wOjUwJX0ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsLjYpO3RvcDo0MCV9Lm51bUlucHV0V3JhcHBlciBzcGFuIHN2Z3t3aWR0aDppbmhlcml0O2hlaWdodDphdXRvfS5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcgcGF0aHtmaWxsOnJnYmEoMCwwLDAsLjUpfS5udW1JbnB1dFdyYXBwZXI6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNSl9Lm51bUlucHV0V3JhcHBlcjpob3ZlciBzcGFue29wYWNpdHk6MX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGh7Zm9udC1zaXplOjEzNSU7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXdlaWdodDozMDA7Y29sb3I6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo3NSU7bGVmdDoxMi41JTtwYWRkaW5nOjYuMTZweCAwIDA7bGluZS1oZWlnaHQ6MTtoZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi41Y2g7cGFkZGluZzowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA1KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlcnt3aWR0aDo2Y2g7d2lkdGg6N2NoXFxcXDA7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVye2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuOSl9LmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtjdXJzb3I6dGV4dDtwYWRkaW5nOjAgMCAwIC41Y2g7bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtoZWlnaHQ6YXV0bztib3JkZXI6MDtib3JkZXItcmFkaXVzOjA7dmVydGljYWwtYWxpZ246aW5pdGlhbH0uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXI6Zm9jdXN7b3V0bGluZTowfS5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyW2Rpc2FibGVkXTpob3Zlcntmb250LXNpemU6MTAwJTtjb2xvcjpyZ2JhKDAsMCwwLC41KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9LmZsYXRwaWNrci13ZWVrZGF5c3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoyOHB4fS5mbGF0cGlja3Itd2Vla2RheXMsLmZsYXRwaWNrci13ZWVrZGF5cyAuZmxhdHBpY2tyLXdlZWtkYXljb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uZmxhdHBpY2tyLXdlZWtkYXlzIC5mbGF0cGlja3Itd2Vla2RheWNvbnRhaW5lcixzcGFuLmZsYXRwaWNrci13ZWVrZGF5ey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX1zcGFuLmZsYXRwaWNrci13ZWVrZGF5e2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTo5MCU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjpyZ2JhKDAsMCwwLC41NCk7bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtd2VpZ2h0OmJvbGRlcn0uZGF5Q29udGFpbmVyLC5mbGF0cGlja3Itd2Vla3N7cGFkZGluZzoxcHggMCAwfS5mbGF0cGlja3ItZGF5c3twb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt3aWR0aDozMDcuODc1cHh9LmZsYXRwaWNrci1kYXlzOmZvY3Vze291dGxpbmU6MH0uZGF5Q29udGFpbmVye3BhZGRpbmc6MDtvdXRsaW5lOjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjMwNy44NzVweDttaW4td2lkdGg6MzA3Ljg3NXB4O21heC13aWR0aDozMDcuODc1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7LW1zLWZsZXgtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfS5kYXlDb250YWluZXIrLmRheUNvbnRhaW5lcnstd2Via2l0LWJveC1zaGFkb3c6LTFweCAwIDAgI2U2ZTZlNjtib3gtc2hhZG93Oi0xcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXl7YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxNTBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzM5MzkzOTtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo0MDA7d2lkdGg6MTQuMjg1NzE0MyU7LXdlYmtpdC1mbGV4LWJhc2lzOjE0LjI4NTcxNDMlOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjE0LjI4NTcxNDMlO2ZsZXgtYmFzaXM6MTQuMjg1NzE0MyU7bWF4LXdpZHRoOjM5cHg7aGVpZ2h0OjM5cHg7bGluZS1oZWlnaHQ6MzlweDttYXJnaW46MDtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uZmxhdHBpY2tyLWRheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cywuZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpob3ZlciwuZmxhdHBpY2tyLWRheS50b2RheS5pblJhbmdlLC5mbGF0cGlja3ItZGF5OmZvY3VzLC5mbGF0cGlja3ItZGF5OmhvdmVye2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtiYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkudG9kYXl7Ym9yZGVyLWNvbG9yOiM5NTllYTl9LmZsYXRwaWNrci1kYXkudG9kYXk6Zm9jdXMsLmZsYXRwaWNrci1kYXkudG9kYXk6aG92ZXJ7Ym9yZGVyLWNvbG9yOiM5NTllYTk7YmFja2dyb3VuZDojOTU5ZWE5O2NvbG9yOiNmZmZ9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UsLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UucHJldk1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmluUmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cywuZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpob3ZlciwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnByZXZNb250aERheSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlOmZvY3VzLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6aG92ZXJ7YmFja2dyb3VuZDojNTY5ZmY3Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojNTY5ZmY3fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UsLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSwuZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2V7Ym9yZGVyLXJhZGl1czo1MHB4IDAgMCA1MHB4fS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuZW5kUmFuZ2V7Ym9yZGVyLXJhZGl1czowIDUwcHggNTBweCAwfS5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UrLmVuZFJhbmdlOm5vdCg6bnRoLWNoaWxkKDduKzEpKSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5zdGFydFJhbmdlKy5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSl7LXdlYmtpdC1ib3gtc2hhZG93Oi0xMHB4IDAgMCAjNTY5ZmY3O2JveC1zaGFkb3c6LTEwcHggMCAwICM1NjlmZjd9LmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSwuZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5zdGFydFJhbmdlLmVuZFJhbmdlLC5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZXtib3JkZXItcmFkaXVzOjUwcHh9LmZsYXRwaWNrci1kYXkuaW5SYW5nZXtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1ib3gtc2hhZG93Oi01cHggMCAwICNlNmU2ZTYsNXB4IDAgMCAjZTZlNmU2O2JveC1zaGFkb3c6LTVweCAwIDAgI2U2ZTZlNiw1cHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci1kYXkuZGlzYWJsZWQsLmZsYXRwaWNrci1kYXkuZGlzYWJsZWQ6aG92ZXIsLmZsYXRwaWNrci1kYXkubmV4dE1vbnRoRGF5LC5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5uZXh0TW9udGhEYXksLmZsYXRwaWNrci1kYXkubm90QWxsb3dlZC5wcmV2TW9udGhEYXksLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5e2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0fS5mbGF0cGlja3ItZGF5LmRpc2FibGVkLC5mbGF0cGlja3ItZGF5LmRpc2FibGVkOmhvdmVye2N1cnNvcjpub3QtYWxsb3dlZDtjb2xvcjpyZ2JhKDU3LDU3LDU3LC4xKX0uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVke2JvcmRlci1yYWRpdXM6MDstd2Via2l0LWJveC1zaGFkb3c6LTVweCAwIDAgIzU2OWZmNyw1cHggMCAwICM1NjlmZjc7Ym94LXNoYWRvdzotNXB4IDAgMCAjNTY5ZmY3LDVweCAwIDAgIzU2OWZmN30uZmxhdHBpY2tyLWRheS5oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheXttYXJnaW4tdG9wOjFweH0uZmxhdHBpY2tyLXdlZWt3cmFwcGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtze3BhZGRpbmc6MCAxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTY7Ym94LXNoYWRvdzoxcHggMCAwICNlNmU2ZTZ9LmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXl7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjI4cHh9LmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXk6aG92ZXJ7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO2NvbG9yOnJnYmEoNTcsNTcsNTcsLjMpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOmRlZmF1bHQ7Ym9yZGVyOm5vbmV9LmZsYXRwaWNrci1pbm5lckNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5mbGF0cGlja3ItaW5uZXJDb250YWluZXIsLmZsYXRwaWNrci1yQ29udGFpbmVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXJDb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzowfS5mbGF0cGlja3ItdGltZXt0ZXh0LWFsaWduOmNlbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsaW5lLWhlaWdodDo0MHB4O21heC1oZWlnaHQ6NDBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmZsYXRwaWNrci10aW1lOmFmdGVye2NvbnRlbnQ6XFxcIlxcXCI7ZGlzcGxheTp0YWJsZTtjbGVhcjpib3RofS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTt3aWR0aDo0MCU7aGVpZ2h0OjQwcHg7ZmxvYXQ6bGVmdH0uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzkzOTM5fS5mbGF0cGlja3ItdGltZSAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVye2JvcmRlci10b3AtY29sb3I6IzM5MzkzOX0uZmxhdHBpY2tyLXRpbWUuaGFzU2Vjb25kcyAubnVtSW5wdXRXcmFwcGVye3dpZHRoOjI2JX0uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlcnt3aWR0aDo0OSV9LmZsYXRwaWNrci10aW1lIGlucHV0e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtc2l6ZToxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLWhvdXJ7Zm9udC13ZWlnaHQ6NzAwfS5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3ItbWludXRlLC5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25ke2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXN7b3V0bGluZTowO2JvcmRlcjowfS5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtLC5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9ye2hlaWdodDppbmhlcml0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzkzOTM5O2ZvbnQtd2VpZ2h0OjcwMDt3aWR0aDoyJTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbXtvdXRsaW5lOjA7d2lkdGg6MTglO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjQwMH0uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpmb2N1cywuZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3ZlciwuZmxhdHBpY2tyLXRpbWUgaW5wdXQ6Zm9jdXMsLmZsYXRwaWNrci10aW1lIGlucHV0OmhvdmVye2JhY2tncm91bmQ6I2YzZjNmM30uZmxhdHBpY2tyLWlucHV0W3JlYWRvbmx5XXtjdXJzb3I6cG9pbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgZnBGYWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZwRmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19XCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWdjLWJhc2ljLmJ1bmRsZS5qcy5tYXAiLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5hcnJheS5mb3ItZWFjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuZm9yRWFjaDtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM3LmFycmF5LmluY2x1ZGVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5BcnJheS5pbmNsdWRlcztcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LnN0cmluZy5zdGFydHMtd2l0aCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3RyaW5nLnN0YXJ0c1dpdGg7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyAyMi4xLjMuMzEgQXJyYXkucHJvdG90eXBlW0BAdW5zY29wYWJsZXNdXG52YXIgVU5TQ09QQUJMRVMgPSByZXF1aXJlKCcuL193a3MnKSgndW5zY29wYWJsZXMnKTtcbnZhciBBcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xuaWYgKEFycmF5UHJvdG9bVU5TQ09QQUJMRVNdID09IHVuZGVmaW5lZCkgcmVxdWlyZSgnLi9faGlkZScpKEFycmF5UHJvdG8sIFVOU0NPUEFCTEVTLCB7fSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgQXJyYXlQcm90b1tVTlNDT1BBQkxFU11ba2V5XSA9IHRydWU7XG59O1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iLCIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYXNjID0gcmVxdWlyZSgnLi9fYXJyYXktc3BlY2llcy1jcmVhdGUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGlzQXJyYXkgPSByZXF1aXJlKCcuL19pcy1hcnJheScpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChvcmlnaW5hbCkge1xuICB2YXIgQztcbiAgaWYgKGlzQXJyYXkob3JpZ2luYWwpKSB7XG4gICAgQyA9IG9yaWdpbmFsLmNvbnN0cnVjdG9yO1xuICAgIC8vIGNyb3NzLXJlYWxtIGZhbGxiYWNrXG4gICAgaWYgKHR5cGVvZiBDID09ICdmdW5jdGlvbicgJiYgKEMgPT09IEFycmF5IHx8IGlzQXJyYXkoQy5wcm90b3R5cGUpKSkgQyA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaXNPYmplY3QoQykpIHtcbiAgICAgIEMgPSBDW1NQRUNJRVNdO1xuICAgICAgaWYgKEMgPT09IG51bGwpIEMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IHJldHVybiBDID09PSB1bmRlZmluZWQgPyBBcnJheSA6IEM7XG59O1xuIiwiLy8gOS40LjIuMyBBcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKVxudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY29uc3RydWN0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbiIsInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuNScgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4iLCIvLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4iLCIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIHx8IChnbG9iYWxbbmFtZV0gPSB7fSkgOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV0gfHwgKGV4cG9ydHNbUFJPVE9UWVBFXSA9IHt9KTtcbiAgdmFyIGtleSwgb3duLCBvdXQsIGV4cDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IChvd24gPyB0YXJnZXQgOiBzb3VyY2UpW2tleV07XG4gICAgLy8gYmluZCB0aW1lcnMgdG8gZ2xvYmFsIGZvciBjYWxsIGZyb20gZXhwb3J0IGNvbnRleHRcbiAgICBleHAgPSBJU19CSU5EICYmIG93biA/IGN0eChvdXQsIGdsb2JhbCkgOiBJU19QUk9UTyAmJiB0eXBlb2Ygb3V0ID09ICdmdW5jdGlvbicgPyBjdHgoRnVuY3Rpb24uY2FsbCwgb3V0KSA6IG91dDtcbiAgICAvLyBleHRlbmQgZ2xvYmFsXG4gICAgaWYgKHRhcmdldCkgcmVkZWZpbmUodGFyZ2V0LCBrZXksIG91dCwgdHlwZSAmICRleHBvcnQuVSk7XG4gICAgLy8gZXhwb3J0XG4gICAgaWYgKGV4cG9ydHNba2V5XSAhPSBvdXQpIGhpZGUoZXhwb3J0cywga2V5LCBleHApO1xuICAgIGlmIChJU19QUk9UTyAmJiBleHBQcm90b1trZXldICE9IG91dCkgZXhwUHJvdG9ba2V5XSA9IG91dDtcbiAgfVxufTtcbmdsb2JhbC5jb3JlID0gY29yZTtcbi8vIHR5cGUgYml0bWFwXG4kZXhwb3J0LkYgPSAxOyAgIC8vIGZvcmNlZFxuJGV4cG9ydC5HID0gMjsgICAvLyBnbG9iYWxcbiRleHBvcnQuUyA9IDQ7ICAgLy8gc3RhdGljXG4kZXhwb3J0LlAgPSA4OyAgIC8vIHByb3RvXG4kZXhwb3J0LkIgPSAxNjsgIC8vIGJpbmRcbiRleHBvcnQuVyA9IDMyOyAgLy8gd3JhcFxuJGV4cG9ydC5VID0gNjQ7ICAvLyBzYWZlXG4kZXhwb3J0LlIgPSAxMjg7IC8vIHJlYWwgcHJvdG8gbWV0aG9kIGZvciBgbGlicmFyeWBcbm1vZHVsZS5leHBvcnRzID0gJGV4cG9ydDtcbiIsInZhciBNQVRDSCA9IHJlcXVpcmUoJy4vX3drcycpKCdtYXRjaCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZKSB7XG4gIHZhciByZSA9IC8uLztcbiAgdHJ5IHtcbiAgICAnLy4vJ1tLRVldKHJlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRyeSB7XG4gICAgICByZVtNQVRDSF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiAhJy8uLydbS0VZXShyZSk7XG4gICAgfSBjYXRjaCAoZikgeyAvKiBlbXB0eSAqLyB9XG4gIH0gcmV0dXJuIHRydWU7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYykge1xuICB0cnkge1xuICAgIHJldHVybiAhIWV4ZWMoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19zaGFyZWQnKSgnbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZycsIEZ1bmN0aW9uLnRvU3RyaW5nKTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwiLy8gZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBhbmQgbm9uLWVudW1lcmFibGUgb2xkIFY4IHN0cmluZ3NcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcbiIsIi8vIDcuMi4yIElzQXJyYXkoYXJndW1lbnQpXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gaXNBcnJheShhcmcpIHtcbiAgcmV0dXJuIGNvZihhcmcpID09ICdBcnJheSc7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG4iLCIvLyA3LjIuOCBJc1JlZ0V4cChhcmd1bWVudClcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xudmFyIE1BVENIID0gcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgaXNSZWdFeHA7XG4gIHJldHVybiBpc09iamVjdChpdCkgJiYgKChpc1JlZ0V4cCA9IGl0W01BVENIXSkgIT09IHVuZGVmaW5lZCA/ICEhaXNSZWdFeHAgOiBjb2YoaXQpID09ICdSZWdFeHAnKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZhbHNlO1xuIiwidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuL19pZTgtZG9tLWRlZmluZScpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZFAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbmV4cG9ydHMuZiA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGJpdG1hcCwgdmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICBlbnVtZXJhYmxlOiAhKGJpdG1hcCAmIDEpLFxuICAgIGNvbmZpZ3VyYWJsZTogIShiaXRtYXAgJiAyKSxcbiAgICB3cml0YWJsZTogIShiaXRtYXAgJiA0KSxcbiAgICB2YWx1ZTogdmFsdWVcbiAgfTtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBTUkMgPSByZXF1aXJlKCcuL191aWQnKSgnc3JjJyk7XG52YXIgJHRvU3RyaW5nID0gcmVxdWlyZSgnLi9fZnVuY3Rpb24tdG8tc3RyaW5nJyk7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciBUUEwgPSAoJycgKyAkdG9TdHJpbmcpLnNwbGl0KFRPX1NUUklORyk7XG5cbnJlcXVpcmUoJy4vX2NvcmUnKS5pbnNwZWN0U291cmNlID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiAkdG9TdHJpbmcuY2FsbChpdCk7XG59O1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTywga2V5LCB2YWwsIHNhZmUpIHtcbiAgdmFyIGlzRnVuY3Rpb24gPSB0eXBlb2YgdmFsID09ICdmdW5jdGlvbic7XG4gIGlmIChpc0Z1bmN0aW9uKSBoYXModmFsLCAnbmFtZScpIHx8IGhpZGUodmFsLCAnbmFtZScsIGtleSk7XG4gIGlmIChPW2tleV0gPT09IHZhbCkgcmV0dXJuO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgU1JDKSB8fCBoaWRlKHZhbCwgU1JDLCBPW2tleV0gPyAnJyArIE9ba2V5XSA6IFRQTC5qb2luKFN0cmluZyhrZXkpKSk7XG4gIGlmIChPID09PSBnbG9iYWwpIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSBpZiAoIXNhZmUpIHtcbiAgICBkZWxldGUgT1trZXldO1xuICAgIGhpZGUoTywga2V5LCB2YWwpO1xuICB9IGVsc2UgaWYgKE9ba2V5XSkge1xuICAgIE9ba2V5XSA9IHZhbDtcbiAgfSBlbHNlIHtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfVxuLy8gYWRkIGZha2UgRnVuY3Rpb24jdG9TdHJpbmcgZm9yIGNvcnJlY3Qgd29yayB3cmFwcGVkIG1ldGhvZHMgLyBjb25zdHJ1Y3RvcnMgd2l0aCBtZXRob2RzIGxpa2UgTG9EYXNoIGlzTmF0aXZlXG59KShGdW5jdGlvbi5wcm90b3R5cGUsIFRPX1NUUklORywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gIHJldHVybiB0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nICYmIHRoaXNbU1JDXSB8fCAkdG9TdHJpbmcuY2FsbCh0aGlzKTtcbn0pO1xuIiwidmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBzdG9yZVtrZXldIHx8IChzdG9yZVtrZXldID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoge30pO1xufSkoJ3ZlcnNpb25zJywgW10pLnB1c2goe1xuICB2ZXJzaW9uOiBjb3JlLnZlcnNpb24sXG4gIG1vZGU6IHJlcXVpcmUoJy4vX2xpYnJhcnknKSA/ICdwdXJlJyA6ICdnbG9iYWwnLFxuICBjb3B5cmlnaHQ6ICfCqSAyMDE5IERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpJ1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChtZXRob2QsIGFyZykge1xuICByZXR1cm4gISFtZXRob2QgJiYgZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWNhbGxcbiAgICBhcmcgPyBtZXRob2QuY2FsbChudWxsLCBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH0sIDEpIDogbWV0aG9kLmNhbGwobnVsbCk7XG4gIH0pO1xufTtcbiIsIi8vIGhlbHBlciBmb3IgU3RyaW5nI3tzdGFydHNXaXRoLCBlbmRzV2l0aCwgaW5jbHVkZXN9XG52YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuL19pcy1yZWdleHAnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0aGF0LCBzZWFyY2hTdHJpbmcsIE5BTUUpIHtcbiAgaWYgKGlzUmVnRXhwKHNlYXJjaFN0cmluZykpIHRocm93IFR5cGVFcnJvcignU3RyaW5nIycgKyBOQU1FICsgXCIgZG9lc24ndCBhY2NlcHQgcmVnZXghXCIpO1xuICByZXR1cm4gU3RyaW5nKGRlZmluZWQodGhhdCkpO1xufTtcbiIsInZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWF4ID0gTWF0aC5tYXg7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpbmRleCwgbGVuZ3RoKSB7XG4gIGluZGV4ID0gdG9JbnRlZ2VyKGluZGV4KTtcbiAgcmV0dXJuIGluZGV4IDwgMCA/IG1heChpbmRleCArIGxlbmd0aCwgMCkgOiBtaW4oaW5kZXgsIGxlbmd0aCk7XG59O1xuIiwiLy8gNy4xLjQgVG9JbnRlZ2VyXG52YXIgY2VpbCA9IE1hdGguY2VpbDtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXNOYU4oaXQgPSAraXQpID8gMCA6IChpdCA+IDAgPyBmbG9vciA6IGNlaWwpKGl0KTtcbn07XG4iLCIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSU9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIiwiLy8gNy4xLjE1IFRvTGVuZ3RoXG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG4iLCIvLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiIsIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcbiIsInZhciBpZCA9IDA7XG52YXIgcHggPSBNYXRoLnJhbmRvbSgpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiAnU3ltYm9sKCcuY29uY2F0KGtleSA9PT0gdW5kZWZpbmVkID8gJycgOiBrZXksICcpXycsICgrK2lkICsgcHgpLnRvU3RyaW5nKDM2KSk7XG59O1xuIiwidmFyIHN0b3JlID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ3drcycpO1xudmFyIHVpZCA9IHJlcXVpcmUoJy4vX3VpZCcpO1xudmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLlN5bWJvbDtcbnZhciBVU0VfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PSAnZnVuY3Rpb24nO1xuXG52YXIgJGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBzdG9yZVtuYW1lXSB8fCAoc3RvcmVbbmFtZV0gPVxuICAgIFVTRV9TWU1CT0wgJiYgU3ltYm9sW25hbWVdIHx8IChVU0VfU1lNQk9MID8gU3ltYm9sIDogdWlkKSgnU3ltYm9sLicgKyBuYW1lKSk7XG59O1xuXG4kZXhwb3J0cy5zdG9yZSA9IHN0b3JlO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZm9yRWFjaCA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSgwKTtcbnZhciBTVFJJQ1QgPSByZXF1aXJlKCcuL19zdHJpY3QtbWV0aG9kJykoW10uZm9yRWFjaCwgdHJ1ZSk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIVNUUklDVCwgJ0FycmF5Jywge1xuICAvLyAyMi4xLjMuMTAgLyAxNS40LjQuMTggQXJyYXkucHJvdG90eXBlLmZvckVhY2goY2FsbGJhY2tmbiBbLCB0aGlzQXJnXSlcbiAgZm9yRWFjaDogZnVuY3Rpb24gZm9yRWFjaChjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkZm9yRWFjaCh0aGlzLCBjYWxsYmFja2ZuLCBhcmd1bWVudHNbMV0pO1xuICB9XG59KTtcbiIsIi8vIDIxLjEuMy4xOCBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nIFssIHBvc2l0aW9uIF0pXG4ndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY29udGV4dCA9IHJlcXVpcmUoJy4vX3N0cmluZy1jb250ZXh0Jyk7XG52YXIgU1RBUlRTX1dJVEggPSAnc3RhcnRzV2l0aCc7XG52YXIgJHN0YXJ0c1dpdGggPSAnJ1tTVEFSVFNfV0lUSF07XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMtaXMtcmVnZXhwJykoU1RBUlRTX1dJVEgpLCAnU3RyaW5nJywge1xuICBzdGFydHNXaXRoOiBmdW5jdGlvbiBzdGFydHNXaXRoKHNlYXJjaFN0cmluZyAvKiAsIHBvc2l0aW9uID0gMCAqLykge1xuICAgIHZhciB0aGF0ID0gY29udGV4dCh0aGlzLCBzZWFyY2hTdHJpbmcsIFNUQVJUU19XSVRIKTtcbiAgICB2YXIgaW5kZXggPSB0b0xlbmd0aChNYXRoLm1pbihhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCwgdGhhdC5sZW5ndGgpKTtcbiAgICB2YXIgc2VhcmNoID0gU3RyaW5nKHNlYXJjaFN0cmluZyk7XG4gICAgcmV0dXJuICRzdGFydHNXaXRoXG4gICAgICA/ICRzdGFydHNXaXRoLmNhbGwodGhhdCwgc2VhcmNoLCBpbmRleClcbiAgICAgIDogdGhhdC5zbGljZShpbmRleCwgaW5kZXggKyBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L0FycmF5LnByb3RvdHlwZS5pbmNsdWRlc1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW5jbHVkZXMgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5Jywge1xuICBpbmNsdWRlczogZnVuY3Rpb24gaW5jbHVkZXMoZWwgLyogLCBmcm9tSW5kZXggPSAwICovKSB7XG4gICAgcmV0dXJuICRpbmNsdWRlcyh0aGlzLCBlbCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoJ2luY2x1ZGVzJyk7XG4iLCIndXNlIHN0cmljdCc7XG4vKipcbiAqIFtSZWN1cnNpdmVseSBwYXJzZXMgYSBzdHJpbmdpZmllZCBKU09OXVxuICogQHBhcmFtICB7W3R5cGVdfSBqc29uU3RyaW5nIFtzdHJpbmdpZmllZCBqc29uIHRvIHBhcnNlXVxuICogQHJldHVybiB7W3R5cGVdfSAgICAgICAgICAgIFtub3JtYWxpemVkIEphdmFzY3JpcHQgb2JqZWN0XVxuICovXG5mdW5jdGlvbiBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmcpIHtcbiAgLy8gaWYgbm90IHN0cmluZ2lmaWVkIGpzb24gcmF0aGVyIGEgc2ltcGxlIHN0cmluZyB2YWx1ZSB0aGVuIEpTT04ucGFyc2Ugd2lsbCB0aHJvdyBlcnJvclxuICAvLyBvdGhlcndpc2UgY29udGludWUgcmVjdXJzaW9uXG4gIGlmICh0eXBlb2YganNvblN0cmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlZXBQYXJzZUpzb24oSlNPTi5wYXJzZShqc29uU3RyaW5nKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4ganNvblN0cmluZztcbiAgICB9XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShqc29uU3RyaW5nKSkge1xuICAgIC8vIGlmIGFuIGFycmF5IGlzIHJlY2VpdmVkLCBtYXAgb3ZlciB0aGUgYXJyYXkgYW5kIGRlZXBQYXJzZSBlYWNoIHZhbHVlXG4gICAgcmV0dXJuIGpzb25TdHJpbmcubWFwKHZhbCA9PiBkZWVwUGFyc2VKc29uKHZhbCkpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBqc29uU3RyaW5nID09PSAnb2JqZWN0JyAmJiBqc29uU3RyaW5nICE9PSBudWxsKSB7XG4gICAgLy8gaWYgYW4gb2JqZWN0IGlzIHJlY2VpdmVkIHRoZW4gZGVlcFBhcnNlIGVhY2ggZWxlbWVudCBpbiB0aGUgb2JqZWN0XG4gICAgLy8gdHlwZW9mIG51bGwgcmV0dXJucyAnb2JqZWN0JyB0b28sIHNvIHdlIGhhdmUgdG8gZWxpbWluYXRlIHRoYXRcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoanNvblN0cmluZykucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBkZWVwUGFyc2VKc29uKGpzb25TdHJpbmdba2V5XSk7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBvdGhlcndpc2UgcmV0dXJuIHdoYXRldmVyIHdhcyByZWNlaXZlZFxuICAgIHJldHVybiBqc29uU3RyaW5nO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBkZWVwUGFyc2VKc29uIH07XG4iLCJpZighZ2xvYmFsW1wiQmFzaXNcIl0pIGdsb2JhbFtcIkJhc2lzXCJdID0ge307XG5tb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcIkJhc2lzXCJdW1wiQWdHcmlkQ29tcG9uZW50c1wiXSA9IHJlcXVpcmUoXCItIS4vYWdjLWJhc2ljLmJ1bmRsZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFtcImpzc1wiXSA9IHJlcXVpcmUoXCItIS4vanNzLmpzXCIpOyIsIi8qXG4gKiBKU1MgdjAuNiAtIEphdmFTY3JpcHQgU3R5bGVzaGVldHNcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9Cb3g5L2pzc1xuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMSwgRGF2aWQgVGFuZ1xuICogTUlUIExpY2Vuc2VkIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocClcbiAqL1xudmFyIGpzcyA9IChmdW5jdGlvbigpIHtcbiAgICB2YXIgYWRqU2VsQXR0clJlZ2V4ID0gLygoPzpcXC58IylbXlxcLlxccyNdKykoKD86XFwufCMpW15cXC5cXHMjXSspL2c7XG4gICAgdmFyIGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleCA9IC8oOjopKGJlZm9yZXxhZnRlcnxmaXJzdC1saW5lfGZpcnN0LWxldHRlcnxzZWxlY3Rpb24pLztcbiAgICB2YXIgc2luZ2xlQ29sb25Qc2V1ZG9FbFJlZ2V4ID0gLyhbXjpdKSg6KShiZWZvcmV8YWZ0ZXJ8Zmlyc3QtbGluZXxmaXJzdC1sZXR0ZXJ8c2VsZWN0aW9uKS87XG4gICAgdmFyIHNpbmdsZUNvbG9uRm9yUHNldWRvRWxlbWVudHM7IC8vIGZsYWcgZm9yIG9sZGVyIGJyb3dzZXJzXG5cbiAgICBmdW5jdGlvbiBnZXRTZWxlY3RvcnNBbmRSdWxlcyhzaGVldCkge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgLy8gT2xkZXIgYnJvd3NlcnMgYW5kIEZGIHJlcG9ydCBwc2V1ZG8gZWxlbWVudCBzZWxlY3RvcnMgaW4gYW4gb3V0ZGF0ZWQgZm9ybWF0XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gdG9Eb3VibGVDb2xvblBzZXVkb0VsZW1lbnRzKHJ1bGVzW2ldLnNlbGVjdG9yVGV4dCk7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdHNbc2VsZWN0b3JUZXh0XSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHNbc2VsZWN0b3JUZXh0XSA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0c1tzZWxlY3RvclRleHRdLnB1c2goe1xuICAgICAgICAgICAgICAgIHNoZWV0OiBzaGVldCxcbiAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICBzdHlsZTogcnVsZXNbaV0uc3R5bGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFJ1bGVzKHNoZWV0LCBzZWxlY3Rvcikge1xuICAgICAgICB2YXIgcnVsZXMgPSBzaGVldC5jc3NSdWxlcyB8fCBzaGVldC5ydWxlcyB8fCBbXTtcbiAgICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgICAgLy8gQnJvd3NlcnMgcmVwb3J0IHNlbGVjdG9ycyBpbiBsb3dlcmNhc2VcbiAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgc2VsZWN0b3JUZXh0ID0gcnVsZXNbaV0uc2VsZWN0b3JUZXh0O1xuICAgICAgICAgICAgLy8gTm90ZSAtIGNlcnRhaW4gcnVsZXMgKGUuZy4gQHJ1bGVzKSBkb24ndCBoYXZlIHNlbGVjdG9yVGV4dFxuICAgICAgICAgICAgaWYgKHNlbGVjdG9yVGV4dCAmJiAoc2VsZWN0b3JUZXh0ID09IHNlbGVjdG9yIHx8IHNlbGVjdG9yVGV4dCA9PSBzd2FwQWRqU2VsQXR0cihzZWxlY3RvcikgfHwgc2VsZWN0b3JUZXh0ID09IHN3YXBQc2V1ZG9FbFN5bnRheChzZWxlY3RvcikpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2ldLnN0eWxlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYWRkUnVsZShzaGVldCwgc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHJ1bGVzID0gc2hlZXQuY3NzUnVsZXMgfHwgc2hlZXQucnVsZXMgfHwgW107XG4gICAgICAgIHZhciBpbmRleCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgdmFyIHBzZXVkb0VsZW1lbnRSdWxlID0gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpO1xuXG4gICAgICAgIGlmICghcHNldWRvRWxlbWVudFJ1bGUpIHtcbiAgICAgICAgICAgIGFkZFJ1bGVUb1NoZWV0KHNoZWV0LCBzZWxlY3RvciwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hlZXQ6IHNoZWV0LFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgc3R5bGU6IHJ1bGVzW2luZGV4XS5zdHlsZVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBhZGRSdWxlVG9TaGVldChzaGVldCwgc2VsZWN0b3IsIGluZGV4KSB7XG4gICAgICAgIGlmIChzaGVldC5pbnNlcnRSdWxlKSB7XG4gICAgICAgICAgICBzaGVldC5pbnNlcnRSdWxlKHNlbGVjdG9yICsgJyB7IH0nLCBpbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaGVldC5hZGRSdWxlKHNlbGVjdG9yLCBudWxsLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYW5kbGVzIHNpbmdsZSBjb2xvbiBzeW50YXggZm9yIG9sZGVyIGJyb3dzZXJzIGFuZCBidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ5NjUxXG4gICAgZnVuY3Rpb24gYWRkUHNldWRvRWxlbWVudFJ1bGUoc2hlZXQsIHNlbGVjdG9yLCBydWxlcywgaW5kZXgpIHtcbiAgICAgICAgdmFyIGRvdWJsZUNvbG9uU2VsZWN0b3I7XG4gICAgICAgIHZhciBzaW5nbGVDb2xvblNlbGVjdG9yO1xuXG4gICAgICAgIGlmIChkb3VibGVDb2xvblBzZXVkb0VsUmVnZXguZXhlYyhzZWxlY3RvcikpIHtcbiAgICAgICAgICAgIGRvdWJsZUNvbG9uU2VsZWN0b3IgPSBzZWxlY3RvcjtcbiAgICAgICAgICAgIHNpbmdsZUNvbG9uU2VsZWN0b3IgPSB0b1NpbmdsZUNvbG9uUHNldWRvRWxlbWVudHMoc2VsZWN0b3IpO1xuICAgICAgICB9IGVsc2UgaWYgKHNpbmdsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgZG91YmxlQ29sb25TZWxlY3RvciA9IHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgICAgICBzaW5nbGVDb2xvblNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIE5vdCBkZWFsaW5nIHdpdGggYSBwc2V1ZG8gZWxlbWVudFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzKSB7XG4gICAgICAgICAgICAvLyBBc3N1bWUgbW9kZXJuIGJyb3dzZXIgYW5kIHRoZW4gY2hlY2sgaWYgc3VjY2Vzc2Z1bFxuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIGRvdWJsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgICAgIGlmIChydWxlcy5sZW5ndGggPD0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBzaW5nbGVDb2xvbkZvclBzZXVkb0VsZW1lbnRzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2luZ2xlQ29sb25Gb3JQc2V1ZG9FbGVtZW50cykge1xuICAgICAgICAgICAgYWRkUnVsZVRvU2hlZXQoc2hlZXQsIHNpbmdsZUNvbG9uU2VsZWN0b3IsIGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvRG91YmxlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShzaW5nbGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCwgc3VibWF0Y2gxLCBzdWJtYXRjaDIsIHN1Ym1hdGNoMykge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoMSArICc6OicgKyBzdWJtYXRjaDM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3IucmVwbGFjZShkb3VibGVDb2xvblBzZXVkb0VsUmVnZXgsIGZ1bmN0aW9uKG1hdGNoLCBzdWJtYXRjaDEsIHN1Ym1hdGNoMikge1xuICAgICAgICAgICAgcmV0dXJuICc6JyArIHN1Ym1hdGNoMjtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW1vdmVSdWxlKHJ1bGUpIHtcbiAgICAgICAgdmFyIHNoZWV0ID0gcnVsZS5zaGVldDtcbiAgICAgICAgaWYgKHNoZWV0LmRlbGV0ZVJ1bGUpIHtcbiAgICAgICAgICAgIHNoZWV0LmRlbGV0ZVJ1bGUocnVsZS5pbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hlZXQucmVtb3ZlUnVsZSkge1xuICAgICAgICAgICAgc2hlZXQucmVtb3ZlUnVsZShydWxlLmluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGV4dGVuZChkZXN0LCBzcmMpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgICAgICAgICAgaWYgKCFzcmMuaGFzT3duUHJvcGVydHkoa2V5KSlcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGRlc3Rba2V5XSA9IHNyY1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFnZ3JlZ2F0ZVN0eWxlcyhydWxlcykge1xuICAgICAgICB2YXIgYWdncmVnYXRlID0ge307XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4dGVuZChhZ2dyZWdhdGUsIGRlY2xhcmVkUHJvcGVydGllcyhydWxlc1tpXS5zdHlsZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhZ2dyZWdhdGU7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGVjbGFyZWRQcm9wZXJ0aWVzKHN0eWxlKSB7XG4gICAgICAgIHZhciBkZWNsYXJlZCA9IHt9O1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkZWNsYXJlZFtzdHlsZVtpXV0gPSBzdHlsZVt0b0NhbWVsQ2FzZShzdHlsZVtpXSldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWNsYXJlZDtcbiAgICB9XG5cbiAgICAvLyBJRTkgc3RvcmVzIHJ1bGVzIHdpdGggYXR0cmlidXRlcyAoY2xhc3NlcyBvciBJRCdzKSBhZGphY2VudCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIgYXMgZGVmaW5lZFxuICAgIC8vIGNhdXNpbmcgdGhlbSB0byBub3QgYmUgZm91bmQsIHNvIHRoaXMgbWV0aG9kIHN3YXBzIFsjfC5dc2VsMVsjfC5dc2VsMiB0byBiZWNvbWUgWyN8Ll1zZWwyWyN8Ll1zZWwxXG4gICAgZnVuY3Rpb24gc3dhcEFkalNlbEF0dHIoc2VsZWN0b3IpIHtcbiAgICAgICAgdmFyIHN3YXAgPSAnJztcbiAgICAgICAgdmFyIGxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IGFkalNlbEF0dHJSZWdleC5leGVjKHNlbGVjdG9yKSkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKG1hdGNoWzBdID09PSAnJylcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyaW5nKGxhc3RJbmRleCwgbWF0Y2guaW5kZXgpO1xuICAgICAgICAgICAgc3dhcCArPSBzZWxlY3Rvci5zdWJzdHIobWF0Y2guaW5kZXggKyBtYXRjaFsxXS5sZW5ndGgsIG1hdGNoWzJdLmxlbmd0aCk7XG4gICAgICAgICAgICBzd2FwICs9IHNlbGVjdG9yLnN1YnN0cihtYXRjaC5pbmRleCwgbWF0Y2hbMV0ubGVuZ3RoKTtcbiAgICAgICAgICAgIGxhc3RJbmRleCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHN3YXAgKz0gc2VsZWN0b3Iuc3Vic3RyKGxhc3RJbmRleCk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gc3dhcDtcbiAgICB9O1xuXG4gICAgLy8gRkYgYW5kIG9sZGVyIGJyb3dzZXJzIHN0b3JlIHJ1bGVzIHdpdGggcHNldWRvIGVsZW1lbnRzIHVzaW5nIHNpbmdsZS1jb2xvbiBzeW50YXhcbiAgICBmdW5jdGlvbiBzd2FwUHNldWRvRWxTeW50YXgoc2VsZWN0b3IpIHtcbiAgICAgICAgaWYgKGRvdWJsZUNvbG9uUHNldWRvRWxSZWdleC5leGVjKHNlbGVjdG9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRvU2luZ2xlQ29sb25Qc2V1ZG9FbGVtZW50cyhzZWxlY3Rvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldFN0eWxlUHJvcGVydGllcyhydWxlLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBwcm9wZXJ0aWVzW2tleV07XG4gICAgICAgICAgICB2YXIgaW1wb3J0YW50SW5kZXggPSB2YWx1ZS5pbmRleE9mKCcgIWltcG9ydGFudCcpO1xuXG4gICAgICAgICAgICAvLyBNb2Rlcm4gYnJvd3NlcnMgc2VlbSB0byBoYW5kbGUgb3ZlcnJpZGVzIGZpbmUsIGJ1dCBJRTkgZG9lc24ndFxuICAgICAgICAgICAgcnVsZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShrZXkpOyBcbiAgICAgICAgICAgIGlmIChpbXBvcnRhbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUuc3Vic3RyKDAsIGltcG9ydGFudEluZGV4KSwgJ2ltcG9ydGFudCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdG9DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvLShbYS16XSkvZywgZnVuY3Rpb24gKG1hdGNoLCBzdWJtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1hdGNoLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUNhbWVsQ2FzZWRQcm9wZXJ0eU5hbWVzKG9sZFByb3BzKSB7XG4gICAgICAgIHZhciBuZXdQcm9wcyA9IHt9O1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2xkUHJvcHMpIHtcbiAgICAgICAgICAgIG5ld1Byb3BzW3VuQ2FtZWxDYXNlKGtleSldID0gb2xkUHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3UHJvcHM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdW5DYW1lbENhc2Uoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFtBLVpdKS9nLCBmdW5jdGlvbihtYXRjaCwgc3VibWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiAnLScgKyBzdWJtYXRjaC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgSnNzID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuICAgICAgICB0aGlzLmhlYWQgPSB0aGlzLmRvYy5oZWFkIHx8IHRoaXMuZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgICAgIHRoaXMuc2hlZXRzID0gdGhpcy5kb2Muc3R5bGVTaGVldHMgfHwgW107XG4gICAgfTtcblxuICAgIEpzcy5wcm90b3R5cGUgPSB7XG4gICAgICAgIC8vIFJldHVybnMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgZ2V0OiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBhZ2dyZWdhdGVTdHlsZXMoZ2V0UnVsZXModGhpcy5kZWZhdWx0U2hlZXQsIHNlbGVjdG9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRTZWxlY3RvcnNBbmRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCk7XG4gICAgICAgICAgICBmb3IgKHNlbGVjdG9yIGluIHJ1bGVzKSB7XG4gICAgICAgICAgICAgICAgcnVsZXNbc2VsZWN0b3JdID0gYWdncmVnYXRlU3R5bGVzKHJ1bGVzW3NlbGVjdG9yXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcnVsZXM7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJldHVybnMgYWxsIHJ1bGVzIChzZWxlY3RvciBpcyByZXF1aXJlZClcbiAgICAgICAgZ2V0QWxsOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7fTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zaGVldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBleHRlbmQocHJvcGVydGllcywgYWdncmVnYXRlU3R5bGVzKGdldFJ1bGVzKHRoaXMuc2hlZXRzW2ldLCBzZWxlY3RvcikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgICAgICB9LFxuICAgICAgICAvLyBBZGRzIEpTUyBydWxlcyBmb3IgdGhlIHNlbGVjdG9yIGJhc2VkIG9uIHRoZSBnaXZlbiBwcm9wZXJ0aWVzXG4gICAgICAgIHNldDogZnVuY3Rpb24oc2VsZWN0b3IsIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0U2hlZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRTaGVldCA9IHRoaXMuX2NyZWF0ZVNoZWV0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gdHJhbnNmb3JtQ2FtZWxDYXNlZFByb3BlcnR5TmFtZXMocHJvcGVydGllcyk7XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgaWYgKCFydWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBydWxlcyA9IFthZGRSdWxlKHRoaXMuZGVmYXVsdFNoZWV0LCBzZWxlY3RvcildO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHNldFN0eWxlUHJvcGVydGllcyhydWxlc1tpXSwgcHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFJlbW92ZXMgSlNTIHJ1bGVzIChzZWxlY3RvciBpcyBvcHRpb25hbClcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTaGVldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlU2hlZXQodGhpcy5kZWZhdWx0U2hlZXQpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRlZmF1bHRTaGVldDtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcnVsZXMgPSBnZXRSdWxlcyh0aGlzLmRlZmF1bHRTaGVldCwgc2VsZWN0b3IpO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBydWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlbW92ZVJ1bGUocnVsZXNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgX2NyZWF0ZVNoZWV0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZU5vZGUgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgc3R5bGVOb2RlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgICAgIHRoaXMuaGVhZC5hcHBlbmRDaGlsZChzdHlsZU5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlTm9kZS5zaGVldDtcbiAgICAgICAgfSxcbiAgICAgICAgX3JlbW92ZVNoZWV0OiBmdW5jdGlvbihzaGVldCkge1xuICAgICAgICAgICAgdmFyIG5vZGUgPSBzaGVldC5vd25lck5vZGU7XG4gICAgICAgICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGV4cG9ydHMgPSBuZXcgSnNzKGRvY3VtZW50KTtcbiAgICBleHBvcnRzLmZvckRvY3VtZW50ID0gZnVuY3Rpb24oZG9jKSB7XG4gICAgICAgIHJldHVybiBuZXcgSnNzKGRvYyk7XG4gICAgfTtcbiAgICByZXR1cm4gZXhwb3J0cztcbn0pKCk7XG5cbnR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzICYmIChtb2R1bGUuZXhwb3J0cyA9IGpzcyk7IC8vIENvbW1vbkpTIHN1cHBvcnQiLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgU3ltYm9sID0gcm9vdC5TeW1ib2w7XG5cbm1vZHVsZS5leHBvcnRzID0gU3ltYm9sO1xuIiwiLyoqXG4gKiBBIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBgRnVuY3Rpb24jYXBwbHlgLCB0aGlzIGZ1bmN0aW9uIGludm9rZXMgYGZ1bmNgXG4gKiB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiBgdGhpc0FyZ2AgYW5kIHRoZSBhcmd1bWVudHMgb2YgYGFyZ3NgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIGBmdW5jYC5cbiAqL1xuZnVuY3Rpb24gYXBwbHkoZnVuYywgdGhpc0FyZywgYXJncykge1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcpO1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICB9XG4gIHJldHVybiBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFwcGx5O1xuIiwidmFyIGJhc2VUaW1lcyA9IHJlcXVpcmUoJy4vX2Jhc2VUaW1lcycpLFxuICAgIGlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9pc0FyZ3VtZW50cycpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKSxcbiAgICBpc0J1ZmZlciA9IHJlcXVpcmUoJy4vaXNCdWZmZXInKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vaXNUeXBlZEFycmF5Jyk7XG5cbi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiB0aGUgYXJyYXktbGlrZSBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5oZXJpdGVkIFNwZWNpZnkgcmV0dXJuaW5nIGluaGVyaXRlZCBwcm9wZXJ0eSBuYW1lcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TGlrZUtleXModmFsdWUsIGluaGVyaXRlZCkge1xuICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKSxcbiAgICAgIGlzQXJnID0gIWlzQXJyICYmIGlzQXJndW1lbnRzKHZhbHVlKSxcbiAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiAhaXNBcmcgJiYgaXNCdWZmZXIodmFsdWUpLFxuICAgICAgaXNUeXBlID0gIWlzQXJyICYmICFpc0FyZyAmJiAhaXNCdWZmICYmIGlzVHlwZWRBcnJheSh2YWx1ZSksXG4gICAgICBza2lwSW5kZXhlcyA9IGlzQXJyIHx8IGlzQXJnIHx8IGlzQnVmZiB8fCBpc1R5cGUsXG4gICAgICByZXN1bHQgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZykgOiBbXSxcbiAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiZcbiAgICAgICAgIShza2lwSW5kZXhlcyAmJiAoXG4gICAgICAgICAgIC8vIFNhZmFyaSA5IGhhcyBlbnVtZXJhYmxlIGBhcmd1bWVudHMubGVuZ3RoYCBpbiBzdHJpY3QgbW9kZS5cbiAgICAgICAgICAga2V5ID09ICdsZW5ndGgnIHx8XG4gICAgICAgICAgIC8vIE5vZGUuanMgMC4xMCBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiBidWZmZXJzLlxuICAgICAgICAgICAoaXNCdWZmICYmIChrZXkgPT0gJ29mZnNldCcgfHwga2V5ID09ICdwYXJlbnQnKSkgfHxcbiAgICAgICAgICAgLy8gUGhhbnRvbUpTIDIgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gdHlwZWQgYXJyYXlzLlxuICAgICAgICAgICAoaXNUeXBlICYmIChrZXkgPT0gJ2J1ZmZlcicgfHwga2V5ID09ICdieXRlTGVuZ3RoJyB8fCBrZXkgPT0gJ2J5dGVPZmZzZXQnKSkgfHxcbiAgICAgICAgICAgLy8gU2tpcCBpbmRleCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICBpc0luZGV4KGtleSwgbGVuZ3RoKVxuICAgICAgICApKSkge1xuICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheUxpa2VLZXlzO1xuIiwiLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8ubWFwYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAqIHNob3J0aGFuZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGFycmF5TWFwKGFycmF5LCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhcnJheU1hcDtcbiIsInZhciBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKSxcbiAgICBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBBc3NpZ25zIGB2YWx1ZWAgdG8gYGtleWAgb2YgYG9iamVjdGAgaWYgdGhlIGV4aXN0aW5nIHZhbHVlIGlzIG5vdCBlcXVpdmFsZW50XG4gKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gKi9cbmZ1bmN0aW9uIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgaWYgKCEoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYgZXEob2JqVmFsdWUsIHZhbHVlKSkgfHxcbiAgICAgICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICEoa2V5IGluIG9iamVjdCkpKSB7XG4gICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBhc3NpZ25WYWx1ZTtcbiIsInZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX2RlZmluZVByb3BlcnR5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYGFzc2lnblZhbHVlYCBhbmQgYGFzc2lnbk1lcmdlVmFsdWVgIHdpdGhvdXRcbiAqIHZhbHVlIGNoZWNrcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgPT0gJ19fcHJvdG9fXycgJiYgZGVmaW5lUHJvcGVydHkpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShvYmplY3QsIGtleSwge1xuICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsXG4gICAgICAnZW51bWVyYWJsZSc6IHRydWUsXG4gICAgICAndmFsdWUnOiB2YWx1ZSxcbiAgICAgICd3cml0YWJsZSc6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUFzc2lnblZhbHVlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpLFxuICAgIGdldFJhd1RhZyA9IHJlcXVpcmUoJy4vX2dldFJhd1RhZycpLFxuICAgIG9iamVjdFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fb2JqZWN0VG9TdHJpbmcnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG51bGxUYWcgPSAnW29iamVjdCBOdWxsXScsXG4gICAgdW5kZWZpbmVkVGFnID0gJ1tvYmplY3QgVW5kZWZpbmVkXSc7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIHN5bVRvU3RyaW5nVGFnID0gU3ltYm9sID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBnZXRUYWdgIHdpdGhvdXQgZmFsbGJhY2tzIGZvciBidWdneSBlbnZpcm9ubWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZSkge1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkVGFnIDogbnVsbFRhZztcbiAgfVxuICByZXR1cm4gKHN5bVRvU3RyaW5nVGFnICYmIHN5bVRvU3RyaW5nVGFnIGluIE9iamVjdCh2YWx1ZSkpXG4gICAgPyBnZXRSYXdUYWcodmFsdWUpXG4gICAgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUdldFRhZztcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXSc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNBcmd1bWVudHNgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqL1xuZnVuY3Rpb24gYmFzZUlzQXJndW1lbnRzKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFyZ3NUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUlzQXJndW1lbnRzO1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc01hc2tlZCA9IHJlcXVpcmUoJy4vX2lzTWFza2VkJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgdG9Tb3VyY2UgPSByZXF1aXJlKCcuL190b1NvdXJjZScpO1xuXG4vKipcbiAqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGBcbiAqIFtzeW50YXggY2hhcmFjdGVyc10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcGF0dGVybnMpLlxuICovXG52YXIgcmVSZWdFeHBDaGFyID0gL1tcXFxcXiQuKis/KClbXFxde318XS9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaG9zdCBjb25zdHJ1Y3RvcnMgKFNhZmFyaSkuICovXG52YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZSxcbiAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBpZiBhIG1ldGhvZCBpcyBuYXRpdmUuICovXG52YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cCgnXicgK1xuICBmdW5jVG9TdHJpbmcuY2FsbChoYXNPd25Qcm9wZXJ0eSkucmVwbGFjZShyZVJlZ0V4cENoYXIsICdcXFxcJCYnKVxuICAucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZywgJyQxLio/JykgKyAnJCdcbik7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzTmF0aXZlKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcGF0dGVybiA9IGlzRnVuY3Rpb24odmFsdWUpID8gcmVJc05hdGl2ZSA6IHJlSXNIb3N0Q3RvcjtcbiAgcmV0dXJuIHBhdHRlcm4udGVzdCh0b1NvdXJjZSh2YWx1ZSkpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VJc05hdGl2ZTtcbiIsInZhciBiYXNlR2V0VGFnID0gcmVxdWlyZSgnLi9fYmFzZUdldFRhZycpLFxuICAgIGlzTGVuZ3RoID0gcmVxdWlyZSgnLi9pc0xlbmd0aCcpLFxuICAgIGlzT2JqZWN0TGlrZSA9IHJlcXVpcmUoJy4vaXNPYmplY3RMaWtlJyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhcmdzVGFnID0gJ1tvYmplY3QgQXJndW1lbnRzXScsXG4gICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgIGJvb2xUYWcgPSAnW29iamVjdCBCb29sZWFuXScsXG4gICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICBlcnJvclRhZyA9ICdbb2JqZWN0IEVycm9yXScsXG4gICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgbWFwVGFnID0gJ1tvYmplY3QgTWFwXScsXG4gICAgbnVtYmVyVGFnID0gJ1tvYmplY3QgTnVtYmVyXScsXG4gICAgb2JqZWN0VGFnID0gJ1tvYmplY3QgT2JqZWN0XScsXG4gICAgcmVnZXhwVGFnID0gJ1tvYmplY3QgUmVnRXhwXScsXG4gICAgc2V0VGFnID0gJ1tvYmplY3QgU2V0XScsXG4gICAgc3RyaW5nVGFnID0gJ1tvYmplY3QgU3RyaW5nXScsXG4gICAgd2Vha01hcFRhZyA9ICdbb2JqZWN0IFdlYWtNYXBdJztcblxudmFyIGFycmF5QnVmZmVyVGFnID0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyxcbiAgICBkYXRhVmlld1RhZyA9ICdbb2JqZWN0IERhdGFWaWV3XScsXG4gICAgZmxvYXQzMlRhZyA9ICdbb2JqZWN0IEZsb2F0MzJBcnJheV0nLFxuICAgIGZsb2F0NjRUYWcgPSAnW29iamVjdCBGbG9hdDY0QXJyYXldJyxcbiAgICBpbnQ4VGFnID0gJ1tvYmplY3QgSW50OEFycmF5XScsXG4gICAgaW50MTZUYWcgPSAnW29iamVjdCBJbnQxNkFycmF5XScsXG4gICAgaW50MzJUYWcgPSAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgdWludDhUYWcgPSAnW29iamVjdCBVaW50OEFycmF5XScsXG4gICAgdWludDhDbGFtcGVkVGFnID0gJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICB1aW50MTZUYWcgPSAnW29iamVjdCBVaW50MTZBcnJheV0nLFxuICAgIHVpbnQzMlRhZyA9ICdbb2JqZWN0IFVpbnQzMkFycmF5XSc7XG5cbi8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIG9mIHR5cGVkIGFycmF5cy4gKi9cbnZhciB0eXBlZEFycmF5VGFncyA9IHt9O1xudHlwZWRBcnJheVRhZ3NbZmxvYXQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1tmbG9hdDY0VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQ4VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXSA9XG50eXBlZEFycmF5VGFnc1tpbnQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OFRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQxNlRhZ10gPVxudHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG50eXBlZEFycmF5VGFnc1thcmdzVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2FycmF5VGFnXSA9XG50eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9XG50eXBlZEFycmF5VGFnc1tkYXRhVmlld1RhZ10gPSB0eXBlZEFycmF5VGFnc1tkYXRlVGFnXSA9XG50eXBlZEFycmF5VGFnc1tlcnJvclRhZ10gPSB0eXBlZEFycmF5VGFnc1tmdW5jVGFnXSA9XG50eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9XG50eXBlZEFycmF5VGFnc1tvYmplY3RUYWddID0gdHlwZWRBcnJheVRhZ3NbcmVnZXhwVGFnXSA9XG50eXBlZEFycmF5VGFnc1tzZXRUYWddID0gdHlwZWRBcnJheVRhZ3Nbc3RyaW5nVGFnXSA9XG50eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzVHlwZWRBcnJheWAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBiYXNlSXNUeXBlZEFycmF5KHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmXG4gICAgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhIXR5cGVkQXJyYXlUYWdzW2Jhc2VHZXRUYWcodmFsdWUpXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlSXNUeXBlZEFycmF5O1xuIiwidmFyIGlzUHJvdG90eXBlID0gcmVxdWlyZSgnLi9faXNQcm90b3R5cGUnKSxcbiAgICBuYXRpdmVLZXlzID0gcmVxdWlyZSgnLi9fbmF0aXZlS2V5cycpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNgIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gYmFzZUtleXMob2JqZWN0KSB7XG4gIGlmICghaXNQcm90b3R5cGUob2JqZWN0KSkge1xuICAgIHJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7XG4gIH1cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUtleXM7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0JyksXG4gICAgaXNQcm90b3R5cGUgPSByZXF1aXJlKCcuL19pc1Byb3RvdHlwZScpLFxuICAgIG5hdGl2ZUtleXNJbiA9IHJlcXVpcmUoJy4vX25hdGl2ZUtleXNJbicpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmtleXNJbmAgd2hpY2ggZG9lc24ndCB0cmVhdCBzcGFyc2UgYXJyYXlzIGFzIGRlbnNlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBiYXNlS2V5c0luKG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7XG4gIH1cbiAgdmFyIGlzUHJvdG8gPSBpc1Byb3RvdHlwZShvYmplY3QpLFxuICAgICAgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmICghKGtleSA9PSAnY29uc3RydWN0b3InICYmIChpc1Byb3RvIHx8ICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VLZXlzSW47XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnByb3BlcnR5T2ZgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYWNjZXNzb3IgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VQcm9wZXJ0eU9mKG9iamVjdCkge1xuICByZXR1cm4gZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVByb3BlcnR5T2Y7XG4iLCJ2YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5JyksXG4gICAgb3ZlclJlc3QgPSByZXF1aXJlKCcuL19vdmVyUmVzdCcpLFxuICAgIHNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fc2V0VG9TdHJpbmcnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5yZXN0YCB3aGljaCBkb2Vzbid0IHZhbGlkYXRlIG9yIGNvZXJjZSBhcmd1bWVudHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gYmFzZVJlc3QoZnVuYywgc3RhcnQpIHtcbiAgcmV0dXJuIHNldFRvU3RyaW5nKG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCBpZGVudGl0eSksIGZ1bmMgKyAnJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVJlc3Q7XG4iLCJ2YXIgY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50JyksXG4gICAgZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKCcuL19kZWZpbmVQcm9wZXJ0eScpLFxuICAgIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBzZXRUb1N0cmluZ2Agd2l0aG91dCBzdXBwb3J0IGZvciBob3QgbG9vcCBzaG9ydGluZy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gKi9cbnZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICByZXR1cm4gZGVmaW5lUHJvcGVydHkoZnVuYywgJ3RvU3RyaW5nJywge1xuICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICdlbnVtZXJhYmxlJzogZmFsc2UsXG4gICAgJ3ZhbHVlJzogY29uc3RhbnQoc3RyaW5nKSxcbiAgICAnd3JpdGFibGUnOiB0cnVlXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlU2V0VG9TdHJpbmc7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRpbWVzYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHNcbiAqIG9yIG1heCBhcnJheSBsZW5ndGggY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAqL1xuZnVuY3Rpb24gYmFzZVRpbWVzKG4sIGl0ZXJhdGVlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgcmVzdWx0ID0gQXJyYXkobik7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBuKSB7XG4gICAgcmVzdWx0W2luZGV4XSA9IGl0ZXJhdGVlKGluZGV4KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUaW1lcztcbiIsInZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19TeW1ib2wnKSxcbiAgICBhcnJheU1hcCA9IHJlcXVpcmUoJy4vX2FycmF5TWFwJyksXG4gICAgaXNBcnJheSA9IHJlcXVpcmUoJy4vaXNBcnJheScpLFxuICAgIGlzU3ltYm9sID0gcmVxdWlyZSgnLi9pc1N5bWJvbCcpO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBJTkZJTklUWSA9IDEgLyAwO1xuXG4vKiogVXNlZCB0byBjb252ZXJ0IHN5bWJvbHMgdG8gcHJpbWl0aXZlcyBhbmQgc3RyaW5ncy4gKi9cbnZhciBzeW1ib2xQcm90byA9IFN5bWJvbCA/IFN5bWJvbC5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG4gICAgc3ltYm9sVG9TdHJpbmcgPSBzeW1ib2xQcm90byA/IHN5bWJvbFByb3RvLnRvU3RyaW5nIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICogdmFsdWVzIHRvIGVtcHR5IHN0cmluZ3MuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAvLyBFeGl0IGVhcmx5IGZvciBzdHJpbmdzIHRvIGF2b2lkIGEgcGVyZm9ybWFuY2UgaGl0IGluIHNvbWUgZW52aXJvbm1lbnRzLlxuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgdmFsdWVzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgcmV0dXJuIGFycmF5TWFwKHZhbHVlLCBiYXNlVG9TdHJpbmcpICsgJyc7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBzeW1ib2xUb1N0cmluZyA/IHN5bWJvbFRvU3RyaW5nLmNhbGwodmFsdWUpIDogJyc7XG4gIH1cbiAgdmFyIHJlc3VsdCA9ICh2YWx1ZSArICcnKTtcbiAgcmV0dXJuIChyZXN1bHQgPT0gJzAnICYmICgxIC8gdmFsdWUpID09IC1JTkZJTklUWSkgPyAnLTAnIDogcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VUb1N0cmluZztcbiIsIi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5hcnlgIHdpdGhvdXQgc3VwcG9ydCBmb3Igc3RvcmluZyBtZXRhZGF0YS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2FwIGFyZ3VtZW50cyBmb3IuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKSB7XG4gIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVW5hcnk7XG4iLCJ2YXIgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnZhbHVlc2AgYW5kIGBfLnZhbHVlc0luYCB3aGljaCBjcmVhdGVzIGFuXG4gKiBhcnJheSBvZiBgb2JqZWN0YCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXNcbiAqIG9mIGBwcm9wc2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBnZXQgdmFsdWVzIGZvci5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlVmFsdWVzO1xuIiwidmFyIGFzc2lnblZhbHVlID0gcmVxdWlyZSgnLi9fYXNzaWduVmFsdWUnKSxcbiAgICBiYXNlQXNzaWduVmFsdWUgPSByZXF1aXJlKCcuL19iYXNlQXNzaWduVmFsdWUnKTtcblxuLyoqXG4gKiBDb3BpZXMgcHJvcGVydGllcyBvZiBgc291cmNlYCB0byBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tLlxuICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzIHRvIGNvcHkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb3BpZWQgdmFsdWVzLlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAqL1xuZnVuY3Rpb24gY29weU9iamVjdChzb3VyY2UsIHByb3BzLCBvYmplY3QsIGN1c3RvbWl6ZXIpIHtcbiAgdmFyIGlzTmV3ID0gIW9iamVjdDtcbiAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIga2V5ID0gcHJvcHNbaW5kZXhdO1xuXG4gICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplclxuICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgfVxuICAgIGlmIChpc05ldykge1xuICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvYmplY3Q7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29weU9iamVjdDtcbiIsInZhciByb290ID0gcmVxdWlyZSgnLi9fcm9vdCcpO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG52YXIgY29yZUpzRGF0YSA9IHJvb3RbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvcmVKc0RhdGE7XG4iLCJ2YXIgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5hc3NpZ25gLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBhc3NpZ25lciBUaGUgZnVuY3Rpb24gdG8gYXNzaWduIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBjcmVhdGVBc3NpZ25lcihhc3NpZ25lcikge1xuICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHNvdXJjZXMubGVuZ3RoLFxuICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQ7XG5cbiAgICBjdXN0b21pemVyID0gKGFzc2lnbmVyLmxlbmd0aCA+IDMgJiYgdHlwZW9mIGN1c3RvbWl6ZXIgPT0gJ2Z1bmN0aW9uJylcbiAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSwgc291cmNlc1sxXSwgZ3VhcmQpKSB7XG4gICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICBsZW5ndGggPSAxO1xuICAgIH1cbiAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgdmFyIHNvdXJjZSA9IHNvdXJjZXNbaW5kZXhdO1xuICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICBhc3NpZ25lcihvYmplY3QsIHNvdXJjZSwgaW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVBc3NpZ25lcjtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAqIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzXG4gKiB0aGF0IHJlc29sdmUgdG8gYHVuZGVmaW5lZGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBvYmpWYWx1ZWAuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICovXG5mdW5jdGlvbiBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgIChlcShvYmpWYWx1ZSwgb2JqZWN0UHJvdG9ba2V5XSkgJiYgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkge1xuICAgIHJldHVybiBzcmNWYWx1ZTtcbiAgfVxuICByZXR1cm4gb2JqVmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbjtcbiIsInZhciBnZXROYXRpdmUgPSByZXF1aXJlKCcuL19nZXROYXRpdmUnKTtcblxudmFyIGRlZmluZVByb3BlcnR5ID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIHZhciBmdW5jID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2RlZmluZVByb3BlcnR5Jyk7XG4gICAgZnVuYyh7fSwgJycsIHt9KTtcbiAgICByZXR1cm4gZnVuYztcbiAgfSBjYXRjaCAoZSkge31cbn0oKSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVmaW5lUHJvcGVydHk7XG4iLCJ2YXIgYmFzZVByb3BlcnR5T2YgPSByZXF1aXJlKCcuL19iYXNlUHJvcGVydHlPZicpO1xuXG4vKiogVXNlZCB0byBtYXAgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLiAqL1xudmFyIGh0bWxFc2NhcGVzID0ge1xuICAnJic6ICcmYW1wOycsXG4gICc8JzogJyZsdDsnLFxuICAnPic6ICcmZ3Q7JyxcbiAgJ1wiJzogJyZxdW90OycsXG4gIFwiJ1wiOiAnJiMzOTsnXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8uZXNjYXBlYCB0byBjb252ZXJ0IGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBjaGFyYWN0ZXIuXG4gKi9cbnZhciBlc2NhcGVIdG1sQ2hhciA9IGJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtcblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVIdG1sQ2hhcjtcbiIsIi8qKiBVc2VkIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHN0cmluZ0VzY2FwZXMgPSB7XG4gICdcXFxcJzogJ1xcXFwnLFxuICBcIidcIjogXCInXCIsXG4gICdcXG4nOiAnbicsXG4gICdcXHInOiAncicsXG4gICdcXHUyMDI4JzogJ3UyMDI4JyxcbiAgJ1xcdTIwMjknOiAndTIwMjknXG59O1xuXG4vKipcbiAqIFVzZWQgYnkgYF8udGVtcGxhdGVgIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIGNoYXJhY3Rlci5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nQ2hhcihjaHIpIHtcbiAgcmV0dXJuICdcXFxcJyArIHN0cmluZ0VzY2FwZXNbY2hyXTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBlc2NhcGVTdHJpbmdDaGFyO1xuIiwiLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlR2xvYmFsID0gdHlwZW9mIGdsb2JhbCA9PSAnb2JqZWN0JyAmJiBnbG9iYWwgJiYgZ2xvYmFsLk9iamVjdCA9PT0gT2JqZWN0ICYmIGdsb2JhbDtcblxubW9kdWxlLmV4cG9ydHMgPSBmcmVlR2xvYmFsO1xuIiwidmFyIGJhc2VJc05hdGl2ZSA9IHJlcXVpcmUoJy4vX2Jhc2VJc05hdGl2ZScpLFxuICAgIGdldFZhbHVlID0gcmVxdWlyZSgnLi9fZ2V0VmFsdWUnKTtcblxuLyoqXG4gKiBHZXRzIHRoZSBuYXRpdmUgZnVuY3Rpb24gYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgbWV0aG9kIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBpZiBpdCdzIG5hdGl2ZSwgZWxzZSBgdW5kZWZpbmVkYC5cbiAqL1xuZnVuY3Rpb24gZ2V0TmF0aXZlKG9iamVjdCwga2V5KSB7XG4gIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBnZXROYXRpdmU7XG4iLCJ2YXIgb3ZlckFyZyA9IHJlcXVpcmUoJy4vX292ZXJBcmcnKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgZ2V0UHJvdG90eXBlID0gb3ZlckFyZyhPYmplY3QuZ2V0UHJvdG90eXBlT2YsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UHJvdG90eXBlO1xuIiwidmFyIFN5bWJvbCA9IHJlcXVpcmUoJy4vX1N5bWJvbCcpO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG52YXIgbmF0aXZlT2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlR2V0VGFnYCB3aGljaCBpZ25vcmVzIGBTeW1ib2wudG9TdHJpbmdUYWdgIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByYXcgYHRvU3RyaW5nVGFnYC5cbiAqL1xuZnVuY3Rpb24gZ2V0UmF3VGFnKHZhbHVlKSB7XG4gIHZhciBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKSxcbiAgICAgIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcblxuICB0cnkge1xuICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHVuZGVmaW5lZDtcbiAgICB2YXIgdW5tYXNrZWQgPSB0cnVlO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHZhciByZXN1bHQgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgaWYgKHVubWFza2VkKSB7XG4gICAgaWYgKGlzT3duKSB7XG4gICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB0YWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0UmF3VGFnO1xuIiwiLyoqXG4gKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWUob2JqZWN0LCBrZXkpIHtcbiAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmFsdWU7XG4iLCIvKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBNQVhfU0FGRV9JTlRFR0VSID0gOTAwNzE5OTI1NDc0MDk5MTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IHVuc2lnbmVkIGludGVnZXIgdmFsdWVzLiAqL1xudmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHZhbGlkIGFycmF5LWxpa2UgaW5kZXguXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHBhcmFtIHtudW1iZXJ9IFtsZW5ndGg9TUFYX1NBRkVfSU5URUdFUl0gVGhlIHVwcGVyIGJvdW5kcyBvZiBhIHZhbGlkIGluZGV4LlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBpbmRleCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0luZGV4KHZhbHVlLCBsZW5ndGgpIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIGxlbmd0aCA9IGxlbmd0aCA9PSBudWxsID8gTUFYX1NBRkVfSU5URUdFUiA6IGxlbmd0aDtcblxuICByZXR1cm4gISFsZW5ndGggJiZcbiAgICAodHlwZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgKHR5cGUgIT0gJ3N5bWJvbCcgJiYgcmVJc1VpbnQudGVzdCh2YWx1ZSkpKSAmJlxuICAgICAgICAodmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8IGxlbmd0aCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJbmRleDtcbiIsInZhciBlcSA9IHJlcXVpcmUoJy4vZXEnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKSxcbiAgICBpc0luZGV4ID0gcmVxdWlyZSgnLi9faXNJbmRleCcpLFxuICAgIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pc09iamVjdCcpO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHBvdGVudGlhbCBpdGVyYXRlZSB2YWx1ZSBhcmd1bWVudC5cbiAqIEBwYXJhbSB7Kn0gaW5kZXggVGhlIHBvdGVudGlhbCBpdGVyYXRlZSBpbmRleCBvciBrZXkgYXJndW1lbnQuXG4gKiBAcGFyYW0geyp9IG9iamVjdCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIG9iamVjdCBhcmd1bWVudC5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJndW1lbnRzIGFyZSBmcm9tIGFuIGl0ZXJhdGVlIGNhbGwsXG4gKiAgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc0l0ZXJhdGVlQ2FsbCh2YWx1ZSwgaW5kZXgsIG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHR5cGUgPSB0eXBlb2YgaW5kZXg7XG4gIGlmICh0eXBlID09ICdudW1iZXInXG4gICAgICAgID8gKGlzQXJyYXlMaWtlKG9iamVjdCkgJiYgaXNJbmRleChpbmRleCwgb2JqZWN0Lmxlbmd0aCkpXG4gICAgICAgIDogKHR5cGUgPT0gJ3N0cmluZycgJiYgaW5kZXggaW4gb2JqZWN0KVxuICAgICAgKSB7XG4gICAgcmV0dXJuIGVxKG9iamVjdFtpbmRleF0sIHZhbHVlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNJdGVyYXRlZUNhbGw7XG4iLCJ2YXIgY29yZUpzRGF0YSA9IHJlcXVpcmUoJy4vX2NvcmVKc0RhdGEnKTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG1ldGhvZHMgbWFzcXVlcmFkaW5nIGFzIG5hdGl2ZS4gKi9cbnZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICB2YXIgdWlkID0gL1teLl0rJC8uZXhlYyhjb3JlSnNEYXRhICYmIGNvcmVKc0RhdGEua2V5cyAmJiBjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE8gfHwgJycpO1xuICByZXR1cm4gdWlkID8gKCdTeW1ib2woc3JjKV8xLicgKyB1aWQpIDogJyc7XG59KCkpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgZnVuY2AgaGFzIGl0cyBzb3VyY2UgbWFza2VkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaXMgbWFza2VkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzTWFza2VkKGZ1bmMpIHtcbiAgcmV0dXJuICEhbWFza1NyY0tleSAmJiAobWFza1NyY0tleSBpbiBmdW5jKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc01hc2tlZDtcbiIsIi8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbnZhciBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgbGlrZWx5IGEgcHJvdG90eXBlIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHByb3RvdHlwZSwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBpc1Byb3RvdHlwZSh2YWx1ZSkge1xuICB2YXIgQ3RvciA9IHZhbHVlICYmIHZhbHVlLmNvbnN0cnVjdG9yLFxuICAgICAgcHJvdG8gPSAodHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yLnByb3RvdHlwZSkgfHwgb2JqZWN0UHJvdG87XG5cbiAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc1Byb3RvdHlwZTtcbiIsInZhciBvdmVyQXJnID0gcmVxdWlyZSgnLi9fb3ZlckFyZycpO1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0LmtleXMsIE9iamVjdCk7XG5cbm1vZHVsZS5leHBvcnRzID0gbmF0aXZlS2V5cztcbiIsIi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlXG4gKiBbYE9iamVjdC5rZXlzYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gKiBleGNlcHQgdGhhdCBpdCBpbmNsdWRlcyBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICovXG5mdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKG9iamVjdCAhPSBudWxsKSB7XG4gICAgZm9yICh2YXIga2V5IGluIE9iamVjdChvYmplY3QpKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG5hdGl2ZUtleXNJbjtcbiIsInZhciBmcmVlR2xvYmFsID0gcmVxdWlyZSgnLi9fZnJlZUdsb2JhbCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgcHJvY2Vzc2AgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVQcm9jZXNzID0gbW9kdWxlRXhwb3J0cyAmJiBmcmVlR2xvYmFsLnByb2Nlc3M7XG5cbi8qKiBVc2VkIHRvIGFjY2VzcyBmYXN0ZXIgTm9kZS5qcyBoZWxwZXJzLiAqL1xudmFyIG5vZGVVdGlsID0gKGZ1bmN0aW9uKCkge1xuICB0cnkge1xuICAgIC8vIFVzZSBgdXRpbC50eXBlc2AgZm9yIE5vZGUuanMgMTArLlxuICAgIHZhciB0eXBlcyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlICYmIGZyZWVNb2R1bGUucmVxdWlyZSgndXRpbCcpLnR5cGVzO1xuXG4gICAgaWYgKHR5cGVzKSB7XG4gICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuXG4gICAgLy8gTGVnYWN5IGBwcm9jZXNzLmJpbmRpbmcoJ3V0aWwnKWAgZm9yIE5vZGUuanMgPCAxMC5cbiAgICByZXR1cm4gZnJlZVByb2Nlc3MgJiYgZnJlZVByb2Nlc3MuYmluZGluZyAmJiBmcmVlUHJvY2Vzcy5iaW5kaW5nKCd1dGlsJyk7XG4gIH0gY2F0Y2ggKGUpIHt9XG59KCkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IG5vZGVVdGlsO1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZyB1c2luZyBgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBvYmplY3RUb1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gb2JqZWN0VG9TdHJpbmc7XG4iLCIvKipcbiAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNmb3JtIFRoZSBhcmd1bWVudCB0cmFuc2Zvcm0uXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gb3ZlckFyZyhmdW5jLCB0cmFuc2Zvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBmdW5jKHRyYW5zZm9ybShhcmcpKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyQXJnO1xuIiwidmFyIGFwcGx5ID0gcmVxdWlyZSgnLi9fYXBwbHknKTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZU1heCA9IE1hdGgubWF4O1xuXG4vKipcbiAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVJlc3RgIHdoaWNoIHRyYW5zZm9ybXMgdGhlIHJlc3QgYXJyYXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm0gVGhlIHJlc3QgYXJyYXkgdHJhbnNmb3JtLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCB0cmFuc2Zvcm0pIHtcbiAgc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQgPT09IHVuZGVmaW5lZCA/IChmdW5jLmxlbmd0aCAtIDEpIDogc3RhcnQsIDApO1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSxcbiAgICAgICAgYXJyYXkgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgfVxuICAgIGluZGV4ID0gLTE7XG4gICAgdmFyIG90aGVyQXJncyA9IEFycmF5KHN0YXJ0ICsgMSk7XG4gICAgd2hpbGUgKCsraW5kZXggPCBzdGFydCkge1xuICAgICAgb3RoZXJBcmdzW2luZGV4XSA9IGFyZ3NbaW5kZXhdO1xuICAgIH1cbiAgICBvdGhlckFyZ3Nbc3RhcnRdID0gdHJhbnNmb3JtKGFycmF5KTtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvdmVyUmVzdDtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFc2NhcGUgPSAvPCUtKFtcXHNcXFNdKz8pJT4vZztcblxubW9kdWxlLmV4cG9ydHMgPSByZUVzY2FwZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVFdmFsdWF0ZSA9IC88JShbXFxzXFxTXSs/KSU+L2c7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVFdmFsdWF0ZTtcbiIsIi8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG52YXIgcmVJbnRlcnBvbGF0ZSA9IC88JT0oW1xcc1xcU10rPyklPi9nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlSW50ZXJwb2xhdGU7XG4iLCJ2YXIgZnJlZUdsb2JhbCA9IHJlcXVpcmUoJy4vX2ZyZWVHbG9iYWwnKTtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJvb3Q7XG4iLCJ2YXIgYmFzZVNldFRvU3RyaW5nID0gcmVxdWlyZSgnLi9fYmFzZVNldFRvU3RyaW5nJyksXG4gICAgc2hvcnRPdXQgPSByZXF1aXJlKCcuL19zaG9ydE91dCcpO1xuXG4vKipcbiAqIFNldHMgdGhlIGB0b1N0cmluZ2AgbWV0aG9kIG9mIGBmdW5jYCB0byByZXR1cm4gYHN0cmluZ2AuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHN0cmluZyBUaGUgYHRvU3RyaW5nYCByZXN1bHQuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICovXG52YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHNldFRvU3RyaW5nO1xuIiwiLyoqIFVzZWQgdG8gZGV0ZWN0IGhvdCBmdW5jdGlvbnMgYnkgbnVtYmVyIG9mIGNhbGxzIHdpdGhpbiBhIHNwYW4gb2YgbWlsbGlzZWNvbmRzLiAqL1xudmFyIEhPVF9DT1VOVCA9IDgwMCxcbiAgICBIT1RfU1BBTiA9IDE2O1xuXG4vKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG52YXIgbmF0aXZlTm93ID0gRGF0ZS5ub3c7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQnbGwgc2hvcnQgb3V0IGFuZCBpbnZva2UgYGlkZW50aXR5YCBpbnN0ZWFkXG4gKiBvZiBgZnVuY2Agd2hlbiBpdCdzIGNhbGxlZCBgSE9UX0NPVU5UYCBvciBtb3JlIHRpbWVzIGluIGBIT1RfU1BBTmBcbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzaG9ydGFibGUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHNob3J0T3V0KGZ1bmMpIHtcbiAgdmFyIGNvdW50ID0gMCxcbiAgICAgIGxhc3RDYWxsZWQgPSAwO1xuXG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICB2YXIgc3RhbXAgPSBuYXRpdmVOb3coKSxcbiAgICAgICAgcmVtYWluaW5nID0gSE9UX1NQQU4gLSAoc3RhbXAgLSBsYXN0Q2FsbGVkKTtcblxuICAgIGxhc3RDYWxsZWQgPSBzdGFtcDtcbiAgICBpZiAocmVtYWluaW5nID4gMCkge1xuICAgICAgaWYgKCsrY291bnQgPj0gSE9UX0NPVU5UKSB7XG4gICAgICAgIHJldHVybiBhcmd1bWVudHNbMF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvdW50ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmMuYXBwbHkodW5kZWZpbmVkLCBhcmd1bWVudHMpO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNob3J0T3V0O1xuIiwiLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNQcm90byA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqXG4gKiBDb252ZXJ0cyBgZnVuY2AgdG8gaXRzIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgaWYgKGZ1bmMgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChmdW5jICsgJycpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvU291cmNlO1xuIiwidmFyIGNvcHlPYmplY3QgPSByZXF1aXJlKCcuL19jb3B5T2JqZWN0JyksXG4gICAgY3JlYXRlQXNzaWduZXIgPSByZXF1aXJlKCcuL19jcmVhdGVBc3NpZ25lcicpLFxuICAgIGtleXNJbiA9IHJlcXVpcmUoJy4va2V5c0luJyk7XG5cbi8qKlxuICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAqIHdoaWNoIGlzIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgYXNzaWduZWQgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJuc1xuICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGFsaWFzIGV4dGVuZFdpdGhcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gKiBAc2VlIF8uYXNzaWduV2l0aFxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSkge1xuICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICogfVxuICpcbiAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduSW5XaXRoLCBjdXN0b21pemVyKTtcbiAqXG4gKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICovXG52YXIgYXNzaWduSW5XaXRoID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4LCBjdXN0b21pemVyKSB7XG4gIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzSW4oc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGFzc2lnbkluV2l0aDtcbiIsInZhciBhcHBseSA9IHJlcXVpcmUoJy4vX2FwcGx5JyksXG4gICAgYmFzZVJlc3QgPSByZXF1aXJlKCcuL19iYXNlUmVzdCcpLFxuICAgIGlzRXJyb3IgPSByZXF1aXJlKCcuL2lzRXJyb3InKTtcblxuLyoqXG4gKiBBdHRlbXB0cyB0byBpbnZva2UgYGZ1bmNgLCByZXR1cm5pbmcgZWl0aGVyIHRoZSByZXN1bHQgb3IgdGhlIGNhdWdodCBlcnJvclxuICogb2JqZWN0LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXR0ZW1wdC5cbiAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGBmdW5jYCByZXN1bHQgb3IgZXJyb3Igb2JqZWN0LlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCB0aHJvd2luZyBlcnJvcnMgZm9yIGludmFsaWQgc2VsZWN0b3JzLlxuICogdmFyIGVsZW1lbnRzID0gXy5hdHRlbXB0KGZ1bmN0aW9uKHNlbGVjdG9yKSB7XG4gKiAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAqIH0sICc+Xz4nKTtcbiAqXG4gKiBpZiAoXy5pc0Vycm9yKGVsZW1lbnRzKSkge1xuICogICBlbGVtZW50cyA9IFtdO1xuICogfVxuICovXG52YXIgYXR0ZW1wdCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIGFyZ3MpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXBwbHkoZnVuYywgdW5kZWZpbmVkLCBhcmdzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBpc0Vycm9yKGUpID8gZSA6IG5ldyBFcnJvcihlKTtcbiAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gYXR0ZW1wdDtcbiIsIi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgdmFsdWVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBVdGlsXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byByZXR1cm4gZnJvbSB0aGUgbmV3IGZ1bmN0aW9uLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29uc3RhbnQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLmNvbnN0YW50KHsgJ2EnOiAxIH0pKTtcbiAqXG4gKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAqIC8vID0+IFt7ICdhJzogMSB9LCB7ICdhJzogMSB9XVxuICpcbiAqIGNvbnNvbGUubG9nKG9iamVjdHNbMF0gPT09IG9iamVjdHNbMV0pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnN0YW50O1xuIiwiLyoqXG4gKiBQZXJmb3JtcyBhXG4gKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICogY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdhJzogMSB9O1xuICpcbiAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoJ2EnLCAnYScpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uZXEoTmFOLCBOYU4pO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgcmV0dXJuIHZhbHVlID09PSBvdGhlciB8fCAodmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZXE7XG4iLCJ2YXIgZXNjYXBlSHRtbENoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVIdG1sQ2hhcicpLFxuICAgIHRvU3RyaW5nID0gcmVxdWlyZSgnLi90b1N0cmluZycpO1xuXG4vKiogVXNlZCB0byBtYXRjaCBIVE1MIGVudGl0aWVzIGFuZCBIVE1MIGNoYXJhY3RlcnMuICovXG52YXIgcmVVbmVzY2FwZWRIdG1sID0gL1smPD5cIiddL2csXG4gICAgcmVIYXNVbmVzY2FwZWRIdG1sID0gUmVnRXhwKHJlVW5lc2NhcGVkSHRtbC5zb3VyY2UpO1xuXG4vKipcbiAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICogY29ycmVzcG9uZGluZyBIVE1MIGVudGl0aWVzLlxuICpcbiAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICogY2hhcmFjdGVycyB1c2UgYSB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpa2UgW19oZV9dKGh0dHBzOi8vbXRocy5iZS9oZSkuXG4gKlxuICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICogXCI+XCIgYW5kIFwiL1wiIGRvbid0IG5lZWQgZXNjYXBpbmcgaW4gSFRNTCBhbmQgaGF2ZSBubyBzcGVjaWFsIG1lYW5pbmdcbiAqIHVubGVzcyB0aGV5J3JlIHBhcnQgb2YgYSB0YWcgb3IgdW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlLiBTZWVcbiAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAqICh1bmRlciBcInNlbWktcmVsYXRlZCBmdW4gZmFjdFwiKSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAqIFtxdW90ZSBhdHRyaWJ1dGUgdmFsdWVzXShodHRwOi8vd29ua28uY29tL3Bvc3QvaHRtbC1lc2NhcGluZykgdG8gcmVkdWNlXG4gKiBYU1MgdmVjdG9ycy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgU3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gKiAvLyA9PiAnZnJlZCwgYmFybmV5LCAmYW1wOyBwZWJibGVzJ1xuICovXG5mdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gIHJldHVybiAoc3RyaW5nICYmIHJlSGFzVW5lc2NhcGVkSHRtbC50ZXN0KHN0cmluZykpXG4gICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgIDogc3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVzY2FwZTtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgaXQgcmVjZWl2ZXMuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFV0aWxcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgQW55IHZhbHVlLlxuICogQHJldHVybnMgeyp9IFJldHVybnMgYHZhbHVlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gKlxuICogY29uc29sZS5sb2coXy5pZGVudGl0eShvYmplY3QpID09PSBvYmplY3QpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpZGVudGl0eSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWU7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaWRlbnRpdHk7XG4iLCJ2YXIgYmFzZUlzQXJndW1lbnRzID0gcmVxdWlyZSgnLi9fYmFzZUlzQXJndW1lbnRzJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYW4gYGFyZ3VtZW50c2Agb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAqICBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcmd1bWVudHMoZnVuY3Rpb24oKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FyZ3VtZW50cyhbMSwgMiwgM10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzQXJndW1lbnRzID0gYmFzZUlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID8gYmFzZUlzQXJndW1lbnRzIDogZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2NhbGxlZScpICYmXG4gICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcmd1bWVudHM7XG4iLCIvKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxubW9kdWxlLmV4cG9ydHMgPSBpc0FycmF5O1xuIiwidmFyIGlzRnVuY3Rpb24gPSByZXF1aXJlKCcuL2lzRnVuY3Rpb24nKSxcbiAgICBpc0xlbmd0aCA9IHJlcXVpcmUoJy4vaXNMZW5ndGgnKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gKiBub3QgYSBmdW5jdGlvbiBhbmQgaGFzIGEgYHZhbHVlLmxlbmd0aGAgdGhhdCdzIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIG9yXG4gKiBlcXVhbCB0byBgMGAgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgaXNMZW5ndGgodmFsdWUubGVuZ3RoKSAmJiAhaXNGdW5jdGlvbih2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheUxpa2U7XG4iLCJ2YXIgcm9vdCA9IHJlcXVpcmUoJy4vX3Jvb3QnKSxcbiAgICBzdHViRmFsc2UgPSByZXF1aXJlKCcuL3N0dWJGYWxzZScpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xudmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYG1vZHVsZWAuICovXG52YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4vKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqL1xudmFyIG1vZHVsZUV4cG9ydHMgPSBmcmVlTW9kdWxlICYmIGZyZWVNb2R1bGUuZXhwb3J0cyA9PT0gZnJlZUV4cG9ydHM7XG5cbi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqL1xudmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyByb290LkJ1ZmZlciA6IHVuZGVmaW5lZDtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgZm9yIHRob3NlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBvdGhlciBgbG9kYXNoYCBtZXRob2RzLiAqL1xudmFyIG5hdGl2ZUlzQnVmZmVyID0gQnVmZmVyID8gQnVmZmVyLmlzQnVmZmVyIDogdW5kZWZpbmVkO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4zLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNCdWZmZXI7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpLFxuICAgIGlzUGxhaW5PYmplY3QgPSByZXF1aXJlKCcuL2lzUGxhaW5PYmplY3QnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGRvbUV4Y1RhZyA9ICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nLFxuICAgIGVycm9yVGFnID0gJ1tvYmplY3QgRXJyb3JdJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICogYFN5bnRheEVycm9yYCwgYFR5cGVFcnJvcmAsIG9yIGBVUklFcnJvcmAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMy4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGVycm9yIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRXJyb3IobmV3IEVycm9yKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzRXJyb3IoRXJyb3IpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNFcnJvcih2YWx1ZSkge1xuICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICByZXR1cm4gdGFnID09IGVycm9yVGFnIHx8IHRhZyA9PSBkb21FeGNUYWcgfHxcbiAgICAodHlwZW9mIHZhbHVlLm1lc3NhZ2UgPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlLm5hbWUgPT0gJ3N0cmluZycgJiYgIWlzUGxhaW5PYmplY3QodmFsdWUpKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0Vycm9yO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgaXNPYmplY3QgPSByZXF1aXJlKCcuL2lzT2JqZWN0Jyk7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBhc3luY1RhZyA9ICdbb2JqZWN0IEFzeW5jRnVuY3Rpb25dJyxcbiAgICBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICBnZW5UYWcgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nLFxuICAgIHByb3h5VGFnID0gJ1tvYmplY3QgUHJveHldJztcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oXyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gVGhlIHVzZSBvZiBgT2JqZWN0I3RvU3RyaW5nYCBhdm9pZHMgaXNzdWVzIHdpdGggdGhlIGB0eXBlb2ZgIG9wZXJhdG9yXG4gIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnIHx8IHRhZyA9PSBhc3luY1RhZyB8fCB0YWcgPT0gcHJveHlUYWc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNGdW5jdGlvbjtcbiIsIi8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xudmFyIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gKlxuICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGxvb3NlbHkgYmFzZWQgb25cbiAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBsZW5ndGgsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0xlbmd0aCgzKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzTGVuZ3RoKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzTGVuZ3RoKEluZmluaXR5KTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0xlbmd0aCgnMycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJlxuICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpc0xlbmd0aDtcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzT2JqZWN0O1xuIiwiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNPYmplY3RMaWtlO1xuIiwidmFyIGJhc2VHZXRUYWcgPSByZXF1aXJlKCcuL19iYXNlR2V0VGFnJyksXG4gICAgZ2V0UHJvdG90eXBlID0gcmVxdWlyZSgnLi9fZ2V0UHJvdG90eXBlJyksXG4gICAgaXNPYmplY3RMaWtlID0gcmVxdWlyZSgnLi9pc09iamVjdExpa2UnKTtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFRhZyA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgZnVuY1Byb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlLFxuICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBzb3VyY2Ugb2YgZnVuY3Rpb25zLiAqL1xudmFyIGZ1bmNUb1N0cmluZyA9IGZ1bmNQcm90by50b1N0cmluZztcblxuLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqIFVzZWQgdG8gaW5mZXIgdGhlIGBPYmplY3RgIGNvbnN0cnVjdG9yLiAqL1xudmFyIG9iamVjdEN0b3JTdHJpbmcgPSBmdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAqIGBPYmplY3RgIGNvbnN0cnVjdG9yIG9yIG9uZSB3aXRoIGEgYFtbUHJvdG90eXBlXV1gIG9mIGBudWxsYC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuOC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHBsYWluIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiB9XG4gKlxuICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICogLy8gPT4gdHJ1ZVxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSB8fCBiYXNlR2V0VGFnKHZhbHVlKSAhPSBvYmplY3RUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlKHZhbHVlKTtcbiAgaWYgKHByb3RvID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIEN0b3IgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCAnY29uc3RydWN0b3InKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICBmdW5jVG9TdHJpbmcuY2FsbChDdG9yKSA9PSBvYmplY3RDdG9yU3RyaW5nO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzUGxhaW5PYmplY3Q7XG4iLCJ2YXIgYmFzZUdldFRhZyA9IHJlcXVpcmUoJy4vX2Jhc2VHZXRUYWcnKSxcbiAgICBpc09iamVjdExpa2UgPSByZXF1aXJlKCcuL2lzT2JqZWN0TGlrZScpO1xuXG4vKiogYE9iamVjdCN0b1N0cmluZ2AgcmVzdWx0IHJlZmVyZW5jZXMuICovXG52YXIgc3ltYm9sVGFnID0gJ1tvYmplY3QgU3ltYm9sXSc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNTeW1ib2w7XG4iLCJ2YXIgYmFzZUlzVHlwZWRBcnJheSA9IHJlcXVpcmUoJy4vX2Jhc2VJc1R5cGVkQXJyYXknKSxcbiAgICBiYXNlVW5hcnkgPSByZXF1aXJlKCcuL19iYXNlVW5hcnknKSxcbiAgICBub2RlVXRpbCA9IHJlcXVpcmUoJy4vX25vZGVVdGlsJyk7XG5cbi8qIE5vZGUuanMgaGVscGVyIHJlZmVyZW5jZXMuICovXG52YXIgbm9kZUlzVHlwZWRBcnJheSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzVHlwZWRBcnJheTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgdHlwZWQgYXJyYXkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAzLjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICogLy8gPT4gZmFsc2VcbiAqL1xudmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzVHlwZWRBcnJheTtcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzID0gcmVxdWlyZSgnLi9fYmFzZUtleXMnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy4gU2VlIHRoZVxuICogW0VTIHNwZWNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICogZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBtZW1iZXJPZiBfXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXMobmV3IEZvbyk7XG4gKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gKlxuICogXy5rZXlzKCdoaScpO1xuICogLy8gPT4gWycwJywgJzEnXVxuICovXG5mdW5jdGlvbiBrZXlzKG9iamVjdCkge1xuICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0ga2V5cztcbiIsInZhciBhcnJheUxpa2VLZXlzID0gcmVxdWlyZSgnLi9fYXJyYXlMaWtlS2V5cycpLFxuICAgIGJhc2VLZXlzSW4gPSByZXF1aXJlKCcuL19iYXNlS2V5c0luJyksXG4gICAgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAqXG4gKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuMC4wXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICogQGV4YW1wbGVcbiAqXG4gKiBmdW5jdGlvbiBGb28oKSB7XG4gKiAgIHRoaXMuYSA9IDE7XG4gKiAgIHRoaXMuYiA9IDI7XG4gKiB9XG4gKlxuICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAqXG4gKiBfLmtleXNJbihuZXcgRm9vKTtcbiAqIC8vID0+IFsnYScsICdiJywgJ2MnXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICovXG5mdW5jdGlvbiBrZXlzSW4ob2JqZWN0KSB7XG4gIHJldHVybiBpc0FycmF5TGlrZShvYmplY3QpID8gYXJyYXlMaWtlS2V5cyhvYmplY3QsIHRydWUpIDogYmFzZUtleXNJbihvYmplY3QpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGtleXNJbjtcbiIsIi8qKlxuICogVGhpcyBtZXRob2QgcmV0dXJucyBgZmFsc2VgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4xMy4wXG4gKiBAY2F0ZWdvcnkgVXRpbFxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy50aW1lcygyLCBfLnN0dWJGYWxzZSk7XG4gKiAvLyA9PiBbZmFsc2UsIGZhbHNlXVxuICovXG5mdW5jdGlvbiBzdHViRmFsc2UoKSB7XG4gIHJldHVybiBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHViRmFsc2U7XG4iLCJ2YXIgYXNzaWduSW5XaXRoID0gcmVxdWlyZSgnLi9hc3NpZ25JbldpdGgnKSxcbiAgICBhdHRlbXB0ID0gcmVxdWlyZSgnLi9hdHRlbXB0JyksXG4gICAgYmFzZVZhbHVlcyA9IHJlcXVpcmUoJy4vX2Jhc2VWYWx1ZXMnKSxcbiAgICBjdXN0b21EZWZhdWx0c0Fzc2lnbkluID0gcmVxdWlyZSgnLi9fY3VzdG9tRGVmYXVsdHNBc3NpZ25JbicpLFxuICAgIGVzY2FwZVN0cmluZ0NoYXIgPSByZXF1aXJlKCcuL19lc2NhcGVTdHJpbmdDaGFyJyksXG4gICAgaXNFcnJvciA9IHJlcXVpcmUoJy4vaXNFcnJvcicpLFxuICAgIGlzSXRlcmF0ZWVDYWxsID0gcmVxdWlyZSgnLi9faXNJdGVyYXRlZUNhbGwnKSxcbiAgICBrZXlzID0gcmVxdWlyZSgnLi9rZXlzJyksXG4gICAgcmVJbnRlcnBvbGF0ZSA9IHJlcXVpcmUoJy4vX3JlSW50ZXJwb2xhdGUnKSxcbiAgICB0ZW1wbGF0ZVNldHRpbmdzID0gcmVxdWlyZSgnLi90ZW1wbGF0ZVNldHRpbmdzJyksXG4gICAgdG9TdHJpbmcgPSByZXF1aXJlKCcuL3RvU3RyaW5nJyk7XG5cbi8qKiBVc2VkIHRvIG1hdGNoIGVtcHR5IHN0cmluZyBsaXRlcmFscyBpbiBjb21waWxlZCB0ZW1wbGF0ZSBzb3VyY2UuICovXG52YXIgcmVFbXB0eVN0cmluZ0xlYWRpbmcgPSAvXFxiX19wIFxcKz0gJyc7L2csXG4gICAgcmVFbXB0eVN0cmluZ01pZGRsZSA9IC9cXGIoX19wIFxcKz0pICcnIFxcKy9nLFxuICAgIHJlRW1wdHlTdHJpbmdUcmFpbGluZyA9IC8oX19lXFwoLio/XFwpfFxcYl9fdFxcKSkgXFwrXFxuJyc7L2c7XG5cbi8qKlxuICogVXNlZCB0byBtYXRjaFxuICogW0VTIHRlbXBsYXRlIGRlbGltaXRlcnNdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRlbXBsYXRlLWxpdGVyYWwtbGV4aWNhbC1jb21wb25lbnRzKS5cbiAqL1xudmFyIHJlRXNUZW1wbGF0ZSA9IC9cXCRcXHsoW15cXFxcfV0qKD86XFxcXC5bXlxcXFx9XSopKilcXH0vZztcblxuLyoqIFVzZWQgdG8gZW5zdXJlIGNhcHR1cmluZyBvcmRlciBvZiB0ZW1wbGF0ZSBkZWxpbWl0ZXJzLiAqL1xudmFyIHJlTm9NYXRjaCA9IC8oJF4pLztcblxuLyoqIFVzZWQgdG8gbWF0Y2ggdW5lc2NhcGVkIGNoYXJhY3RlcnMgaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xudmFyIHJlVW5lc2NhcGVkU3RyaW5nID0gL1snXFxuXFxyXFx1MjAyOFxcdTIwMjlcXFxcXS9nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAqIGluIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXJzLCBIVE1MLWVzY2FwZSBpbnRlcnBvbGF0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluXG4gKiBcImVzY2FwZVwiIGRlbGltaXRlcnMsIGFuZCBleGVjdXRlIEphdmFTY3JpcHQgaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuIERhdGFcbiAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gKiBvYmplY3QgaXMgZ2l2ZW4sIGl0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgXy50ZW1wbGF0ZVNldHRpbmdzYCB2YWx1ZXMuXG4gKlxuICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAqIFtzb3VyY2VVUkxzXShodHRwOi8vd3d3Lmh0bWw1cm9ja3MuY29tL2VuL3R1dG9yaWFscy9kZXZlbG9wZXJ0b29scy9zb3VyY2VtYXBzLyN0b2Mtc291cmNldXJsKVxuICogZm9yIGVhc2llciBkZWJ1Z2dpbmcuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gcHJlY29tcGlsaW5nIHRlbXBsYXRlcyBzZWVcbiAqIFtsb2Rhc2gncyBjdXN0b20gYnVpbGRzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vbG9kYXNoLmNvbS9jdXN0b20tYnVpbGRzKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBDaHJvbWUgZXh0ZW5zaW9uIHNhbmRib3hlcyBzZWVcbiAqIFtDaHJvbWUncyBleHRlbnNpb25zIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZXh0ZW5zaW9ucy9zYW5kYm94aW5nRXZhbCkuXG4gKlxuICogQHN0YXRpY1xuICogQHNpbmNlIDAuMS4wXG4gKiBAbWVtYmVyT2YgX1xuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSB0ZW1wbGF0ZSBzdHJpbmcuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5lc2NhcGU9Xy50ZW1wbGF0ZVNldHRpbmdzLmVzY2FwZV1cbiAqICBUaGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gKiAgVGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnMuaW1wb3J0cz1fLnRlbXBsYXRlU2V0dGluZ3MuaW1wb3J0c11cbiAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICogQHBhcmFtIHtSZWdFeHB9IFtvcHRpb25zLmludGVycG9sYXRlPV8udGVtcGxhdGVTZXR0aW5ncy5pbnRlcnBvbGF0ZV1cbiAqICBUaGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J3RlbXBsYXRlU291cmNlc1tuXSddXG4gKiAgVGhlIHNvdXJjZVVSTCBvZiB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gKiAgVGhlIGRhdGEgb2JqZWN0IHZhcmlhYmxlIG5hbWUuXG4gKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKlxuICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJyk7XG4gKiBjb21waWxlZCh7ICd1c2VyJzogJ2ZyZWQnIH0pO1xuICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICpcbiAqIC8vIFVzZSB0aGUgSFRNTCBcImVzY2FwZVwiIGRlbGltaXRlciB0byBlc2NhcGUgZGF0YSBwcm9wZXJ0eSB2YWx1ZXMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gKiBjb21waWxlZCh7ICd2YWx1ZSc6ICc8c2NyaXB0PicgfSk7XG4gKiAvLyA9PiAnPGI+Jmx0O3NjcmlwdCZndDs8L2I+J1xuICpcbiAqIC8vIFVzZSB0aGUgXCJldmFsdWF0ZVwiIGRlbGltaXRlciB0byBleGVjdXRlIEphdmFTY3JpcHQgYW5kIGdlbmVyYXRlIEhUTUwuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBfLmZvckVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPicpO1xuICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAqXG4gKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8JSBwcmludChcImhlbGxvIFwiICsgdXNlcik7ICU+IScpO1xuICogY29tcGlsZWQoeyAndXNlcic6ICdiYXJuZXknIH0pO1xuICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gKlxuICogLy8gVXNlIHRoZSBFUyB0ZW1wbGF0ZSBsaXRlcmFsIGRlbGltaXRlciBhcyBhbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvICR7IHVzZXIgfSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAncGViYmxlcycgfSk7XG4gKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gKlxuICogLy8gVXNlIGJhY2tzbGFzaGVzIHRvIHRyZWF0IGRlbGltaXRlcnMgYXMgcGxhaW4gdGV4dC5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAqIGNvbXBpbGVkKHsgJ3ZhbHVlJzogJ2lnbm9yZWQnIH0pO1xuICogLy8gPT4gJzwlLSB2YWx1ZSAlPidcbiAqXG4gKiAvLyBVc2UgdGhlIGBpbXBvcnRzYCBvcHRpb24gdG8gaW1wb3J0IGBqUXVlcnlgIGFzIGBqcWAuXG4gKiB2YXIgdGV4dCA9ICc8JSBqcS5lYWNoKHVzZXJzLCBmdW5jdGlvbih1c2VyKSB7ICU+PGxpPjwlLSB1c2VyICU+PC9saT48JSB9KTsgJT4nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXJzJzogWydmcmVkJywgJ2Jhcm5leSddIH0pO1xuICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gKlxuICogLy8gVXNlIHRoZSBgc291cmNlVVJMYCBvcHRpb24gdG8gc3BlY2lmeSBhIGN1c3RvbSBzb3VyY2VVUkwgZm9yIHRoZSB0ZW1wbGF0ZS5cbiAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScsIHsgJ3NvdXJjZVVSTCc6ICcvYmFzaWMvZ3JlZXRpbmcuanN0JyB9KTtcbiAqIGNvbXBpbGVkKGRhdGEpO1xuICogLy8gPT4gRmluZCB0aGUgc291cmNlIG9mIFwiZ3JlZXRpbmcuanN0XCIgdW5kZXIgdGhlIFNvdXJjZXMgdGFiIG9yIFJlc291cmNlcyBwYW5lbCBvZiB0aGUgd2ViIGluc3BlY3Rvci5cbiAqXG4gKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGkgPCU9IGRhdGEudXNlciAlPiEnLCB7ICd2YXJpYWJsZSc6ICdkYXRhJyB9KTtcbiAqIGNvbXBpbGVkLnNvdXJjZTtcbiAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAqIC8vICAgdmFyIF9fdCwgX19wID0gJyc7XG4gKiAvLyAgIF9fcCArPSAnaGkgJyArICgoX190ID0gKCBkYXRhLnVzZXIgKSkgPT0gbnVsbCA/ICcnIDogX190KSArICchJztcbiAqIC8vICAgcmV0dXJuIF9fcDtcbiAqIC8vIH1cbiAqXG4gKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gKiBfLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGUgPSAve3soW1xcc1xcU10rPyl9fS9nO1xuICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8ge3sgdXNlciB9fSEnKTtcbiAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICogLy8gPT4gJ2hlbGxvIG11c3RhY2hlISdcbiAqXG4gKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAqIC8vIGxpbmUgbnVtYmVycyBpbiBlcnJvciBtZXNzYWdlcyBhbmQgc3RhY2sgdHJhY2VzLlxuICogZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2pzdC5qcycpLCAnXFxcbiAqICAgdmFyIEpTVCA9IHtcXFxuICogICAgIFwibWFpblwiOiAnICsgXy50ZW1wbGF0ZShtYWluVGV4dCkuc291cmNlICsgJ1xcXG4gKiAgIH07XFxcbiAqICcpO1xuICovXG5mdW5jdGlvbiB0ZW1wbGF0ZShzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSB7XG4gIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgLy8gKGh0dHA6Ly9lam9obi5vcmcvYmxvZy9qYXZhc2NyaXB0LW1pY3JvLXRlbXBsYXRpbmcvKVxuICAvLyBhbmQgTGF1cmEgRG9rdG9yb3ZhJ3MgZG9ULmpzIChodHRwczovL2dpdGh1Yi5jb20vb2xhZG8vZG9UKS5cbiAgdmFyIHNldHRpbmdzID0gdGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzLl8udGVtcGxhdGVTZXR0aW5ncyB8fCB0ZW1wbGF0ZVNldHRpbmdzO1xuXG4gIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgIG9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgb3B0aW9ucyA9IGFzc2lnbkluV2l0aCh7fSwgb3B0aW9ucywgc2V0dGluZ3MsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pO1xuXG4gIHZhciBpbXBvcnRzID0gYXNzaWduSW5XaXRoKHt9LCBvcHRpb25zLmltcG9ydHMsIHNldHRpbmdzLmltcG9ydHMsIGN1c3RvbURlZmF1bHRzQXNzaWduSW4pLFxuICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgaW1wb3J0c1ZhbHVlcyA9IGJhc2VWYWx1ZXMoaW1wb3J0cywgaW1wb3J0c0tleXMpO1xuXG4gIHZhciBpc0VzY2FwaW5nLFxuICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgaW5kZXggPSAwLFxuICAgICAgaW50ZXJwb2xhdGUgPSBvcHRpb25zLmludGVycG9sYXRlIHx8IHJlTm9NYXRjaCxcbiAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAvLyBDb21waWxlIHRoZSByZWdleHAgdG8gbWF0Y2ggZWFjaCBkZWxpbWl0ZXIuXG4gIHZhciByZURlbGltaXRlcnMgPSBSZWdFeHAoXG4gICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICBpbnRlcnBvbGF0ZS5zb3VyY2UgKyAnfCcgK1xuICAgIChpbnRlcnBvbGF0ZSA9PT0gcmVJbnRlcnBvbGF0ZSA/IHJlRXNUZW1wbGF0ZSA6IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgLCAnZycpO1xuXG4gIC8vIFVzZSBhIHNvdXJjZVVSTCBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgdmFyIHNvdXJjZVVSTCA9ICdzb3VyY2VVUkwnIGluIG9wdGlvbnMgPyAnLy8jIHNvdXJjZVVSTD0nICsgb3B0aW9ucy5zb3VyY2VVUkwgKyAnXFxuJyA6ICcnO1xuXG4gIHN0cmluZy5yZXBsYWNlKHJlRGVsaW1pdGVycywgZnVuY3Rpb24obWF0Y2gsIGVzY2FwZVZhbHVlLCBpbnRlcnBvbGF0ZVZhbHVlLCBlc1RlbXBsYXRlVmFsdWUsIGV2YWx1YXRlVmFsdWUsIG9mZnNldCkge1xuICAgIGludGVycG9sYXRlVmFsdWUgfHwgKGludGVycG9sYXRlVmFsdWUgPSBlc1RlbXBsYXRlVmFsdWUpO1xuXG4gICAgLy8gRXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgc291cmNlICs9IHN0cmluZy5zbGljZShpbmRleCwgb2Zmc2V0KS5yZXBsYWNlKHJlVW5lc2NhcGVkU3RyaW5nLCBlc2NhcGVTdHJpbmdDaGFyKTtcblxuICAgIC8vIFJlcGxhY2UgZGVsaW1pdGVycyB3aXRoIHNuaXBwZXRzLlxuICAgIGlmIChlc2NhcGVWYWx1ZSkge1xuICAgICAgaXNFc2NhcGluZyA9IHRydWU7XG4gICAgICBzb3VyY2UgKz0gXCInICtcXG5fX2UoXCIgKyBlc2NhcGVWYWx1ZSArIFwiKSArXFxuJ1wiO1xuICAgIH1cbiAgICBpZiAoZXZhbHVhdGVWYWx1ZSkge1xuICAgICAgaXNFdmFsdWF0aW5nID0gdHJ1ZTtcbiAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZVZhbHVlICsgXCI7XFxuX19wICs9ICdcIjtcbiAgICB9XG4gICAgaWYgKGludGVycG9sYXRlVmFsdWUpIHtcbiAgICAgIHNvdXJjZSArPSBcIicgK1xcbigoX190ID0gKFwiICsgaW50ZXJwb2xhdGVWYWx1ZSArIFwiKSkgPT0gbnVsbCA/ICcnIDogX190KSArXFxuJ1wiO1xuICAgIH1cbiAgICBpbmRleCA9IG9mZnNldCArIG1hdGNoLmxlbmd0aDtcblxuICAgIC8vIFRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgcHJvZHVjdHMgbmVlZHMgYG1hdGNoYCByZXR1cm5lZCBpblxuICAgIC8vIG9yZGVyIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgYG9mZnNldGAgdmFsdWUuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcblxuICBzb3VyY2UgKz0gXCInO1xcblwiO1xuXG4gIC8vIElmIGB2YXJpYWJsZWAgaXMgbm90IHNwZWNpZmllZCB3cmFwIGEgd2l0aC1zdGF0ZW1lbnQgYXJvdW5kIHRoZSBnZW5lcmF0ZWRcbiAgLy8gY29kZSB0byBhZGQgdGhlIGRhdGEgb2JqZWN0IHRvIHRoZSB0b3Agb2YgdGhlIHNjb3BlIGNoYWluLlxuICB2YXIgdmFyaWFibGUgPSBvcHRpb25zLnZhcmlhYmxlO1xuICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgc291cmNlID0gJ3dpdGggKG9iaikge1xcbicgKyBzb3VyY2UgKyAnXFxufVxcbic7XG4gIH1cbiAgLy8gQ2xlYW51cCBjb2RlIGJ5IHN0cmlwcGluZyBlbXB0eSBzdHJpbmdzLlxuICBzb3VyY2UgPSAoaXNFdmFsdWF0aW5nID8gc291cmNlLnJlcGxhY2UocmVFbXB0eVN0cmluZ0xlYWRpbmcsICcnKSA6IHNvdXJjZSlcbiAgICAucmVwbGFjZShyZUVtcHR5U3RyaW5nTWlkZGxlLCAnJDEnKVxuICAgIC5yZXBsYWNlKHJlRW1wdHlTdHJpbmdUcmFpbGluZywgJyQxOycpO1xuXG4gIC8vIEZyYW1lIGNvZGUgYXMgdGhlIGZ1bmN0aW9uIGJvZHkuXG4gIHNvdXJjZSA9ICdmdW5jdGlvbignICsgKHZhcmlhYmxlIHx8ICdvYmonKSArICcpIHtcXG4nICtcbiAgICAodmFyaWFibGVcbiAgICAgID8gJydcbiAgICAgIDogJ29iaiB8fCAob2JqID0ge30pO1xcbidcbiAgICApICtcbiAgICBcInZhciBfX3QsIF9fcCA9ICcnXCIgK1xuICAgIChpc0VzY2FwaW5nXG4gICAgICAgPyAnLCBfX2UgPSBfLmVzY2FwZSdcbiAgICAgICA6ICcnXG4gICAgKSArXG4gICAgKGlzRXZhbHVhdGluZ1xuICAgICAgPyAnLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcXG4nICtcbiAgICAgICAgXCJmdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIlxuICAgICAgOiAnO1xcbidcbiAgICApICtcbiAgICBzb3VyY2UgK1xuICAgICdyZXR1cm4gX19wXFxufSc7XG5cbiAgdmFyIHJlc3VsdCA9IGF0dGVtcHQoZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIEZ1bmN0aW9uKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyAncmV0dXJuICcgKyBzb3VyY2UpXG4gICAgICAuYXBwbHkodW5kZWZpbmVkLCBpbXBvcnRzVmFsdWVzKTtcbiAgfSk7XG5cbiAgLy8gUHJvdmlkZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24ncyBzb3VyY2UgYnkgaXRzIGB0b1N0cmluZ2AgbWV0aG9kIG9yXG4gIC8vIHRoZSBgc291cmNlYCBwcm9wZXJ0eSBhcyBhIGNvbnZlbmllbmNlIGZvciBpbmxpbmluZyBjb21waWxlZCB0ZW1wbGF0ZXMuXG4gIHJlc3VsdC5zb3VyY2UgPSBzb3VyY2U7XG4gIGlmIChpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICB0aHJvdyByZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZTtcbiIsInZhciBlc2NhcGUgPSByZXF1aXJlKCcuL2VzY2FwZScpLFxuICAgIHJlRXNjYXBlID0gcmVxdWlyZSgnLi9fcmVFc2NhcGUnKSxcbiAgICByZUV2YWx1YXRlID0gcmVxdWlyZSgnLi9fcmVFdmFsdWF0ZScpLFxuICAgIHJlSW50ZXJwb2xhdGUgPSByZXF1aXJlKCcuL19yZUludGVycG9sYXRlJyk7XG5cbi8qKlxuICogQnkgZGVmYXVsdCwgdGhlIHRlbXBsYXRlIGRlbGltaXRlcnMgdXNlZCBieSBsb2Rhc2ggYXJlIGxpa2UgdGhvc2UgaW5cbiAqIGVtYmVkZGVkIFJ1YnkgKEVSQikgYXMgd2VsbCBhcyBFUzIwMTUgdGVtcGxhdGUgc3RyaW5ncy4gQ2hhbmdlIHRoZVxuICogZm9sbG93aW5nIHRlbXBsYXRlIHNldHRpbmdzIHRvIHVzZSBhbHRlcm5hdGl2ZSBkZWxpbWl0ZXJzLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG52YXIgdGVtcGxhdGVTZXR0aW5ncyA9IHtcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgYGRhdGFgIHByb3BlcnR5IHZhbHVlcyB0byBiZSBIVE1MLWVzY2FwZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdlc2NhcGUnOiByZUVzY2FwZSxcblxuICAvKipcbiAgICogVXNlZCB0byBkZXRlY3QgY29kZSB0byBiZSBldmFsdWF0ZWQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge1JlZ0V4cH1cbiAgICovXG4gICdldmFsdWF0ZSc6IHJlRXZhbHVhdGUsXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gaW5qZWN0LlxuICAgKlxuICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAqIEB0eXBlIHtSZWdFeHB9XG4gICAqL1xuICAnaW50ZXJwb2xhdGUnOiByZUludGVycG9sYXRlLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHJlZmVyZW5jZSB0aGUgZGF0YSBvYmplY3QgaW4gdGhlIHRlbXBsYXRlIHRleHQuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gICd2YXJpYWJsZSc6ICcnLFxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGltcG9ydCB2YXJpYWJsZXMgaW50byB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAqXG4gICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICogQHR5cGUge09iamVjdH1cbiAgICovXG4gICdpbXBvcnRzJzoge1xuXG4gICAgLyoqXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGBsb2Rhc2hgIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqL1xuICAgICdfJzogeyAnZXNjYXBlJzogZXNjYXBlIH1cbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB0ZW1wbGF0ZVNldHRpbmdzO1xuIiwidmFyIGJhc2VUb1N0cmluZyA9IHJlcXVpcmUoJy4vX2Jhc2VUb1N0cmluZycpO1xuXG4vKipcbiAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcuIEFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCBmb3IgYG51bGxgXG4gKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8udG9TdHJpbmcobnVsbCk7XG4gKiAvLyA9PiAnJ1xuICpcbiAqIF8udG9TdHJpbmcoLTApO1xuICogLy8gPT4gJy0wJ1xuICpcbiAqIF8udG9TdHJpbmcoWzEsIDIsIDNdKTtcbiAqIC8vID0+ICcxLDIsMydcbiAqL1xuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdG9TdHJpbmc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IFwiLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHZW5lcmljIFN0eWxlc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG5hZy1ncmlkLCBhZy1ncmlkLWFuZ3VsYXIsIGFnLWdyaWQtbmcyLCBhZy1ncmlkLXBvbHltZXIsIGFnLWdyaWQtYXVyZWxpYSB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1oaWRkZW4ge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuXFxuLmFnLWludmlzaWJsZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxcblxcbi5hZy1mYWRlZCB7XFxuICBvcGFjaXR5OiAwLjM7IH1cXG5cXG4uYWctd2lkdGgtaGFsZiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cXG5cXG4uYWctdW5zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3RhYmxlIHtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDtcXG4gIC1tcy11c2VyLXNlbGVjdDogdGV4dCAhaW1wb3J0YW50O1xcbiAgdXNlci1zZWxlY3Q6IHRleHQgIWltcG9ydGFudDsgfVxcblxcbi5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLWlucHV0LXRleHQtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLXNoYWtlLWxlZnQtdG8tcmlnaHQge1xcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XFxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycztcXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGFnLXNoYWtlLWxlZnQtdG8tcmlnaHQ7XFxuICBhbmltYXRpb24tbmFtZTogYWctc2hha2UtbGVmdC10by1yaWdodDsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBhZy1zaGFrZS1sZWZ0LXRvLXJpZ2h0IHtcXG4gIGZyb20ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICB0byB7XFxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxcblxcbkBrZXlmcmFtZXMgYWctc2hha2UtbGVmdC10by1yaWdodCB7XFxuICBmcm9tIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgdG8ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cXG5cXG4uYWctcm9vdC13cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLXJvb3Qtd3JhcHBlci5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctcm9vdC13cmFwcGVyIC5hZy13YXRlcm1hcmsge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIGJvdHRvbTogMTBweDtcXG4gICAgcmlnaHQ6IDI1cHg7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDNzOyB9XFxuICAgIC5hZy1yb290LXdyYXBwZXIgLmFnLXdhdGVybWFyazpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6ICcnO1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTkRrMGNIZ2lJR2hsYVdkb2REMGlNak01Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EwT1RRZ01qTTVJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGdvZ0lDQWdQQ0V0TFNCSFpXNWxjbUYwYjNJNklGTnJaWFJqYUNBME55NHhJQ2cwTlRReU1pa2dMU0JvZEhSd09pOHZkM2QzTG1KdmFHVnRhV0Z1WTI5a2FXNW5MbU52YlM5emEyVjBZMmdnTFMwK0NpQWdJQ0E4ZEdsMGJHVStURzluYnp3dmRHbDBiR1UrQ2lBZ0lDQThaR1Z6WXo1RGNtVmhkR1ZrSUhkcGRHZ2dVMnRsZEdOb0xqd3ZaR1Z6WXo0S0lDQWdJRHhrWldaelBnb2dJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMHdMall4TWpnME9Ua3pNU3d4TURnZ1REQXVOakV5T0RRNU9UTXhMRFkzTGpRMU9UWXpOelFnVERBdU5qRXlPRFE1T1RNeExEWTNMalExT1RZek56UWdRekF1TmpFeU9EUTVPVE14TERZeUxqRXdNRFkxTXpZZ015NDBOekU0TXpNM09DdzFOeTR4TkRnM05EZ3pJRGd1TVRFeU9EUTVPVE1zTlRRdU5EWTVNalUyTkNCTU9UZ3VNekEyTkRJMUxESXVNemsxT1RjeE5UY2dURGs0TGpNd05qUXlOU3d5TGpNNU5UazNNVFUzSUVNeE1ESXVPVFEzTkRReExDMHdMakk0TXpVeU1ETTFPQ0F4TURndU5qWTFOREE1TEMwd0xqSTRNelV5TURNMU9DQXhNVE11TXpBMk5ESTFMREl1TXprMU9UY3hOVGNnVERFeE15NHpNRFkwTWpVc01pNHpPVFU1TnpFMU55Qk1NakF6TGpVc05UUXVORFk1TWpVMk5DQk1NakF6TGpVc05UUXVORFk1TWpVMk5DQkRNakE0TGpFME1UQXhOaXcxTnk0eE5EZzNORGd6SURJeE1TdzJNaTR4TURBMk5UTTJJREl4TVN3Mk55NDBOVGsyTXpjMElFd3lNVEVzTVRNNElFd3hPREVzTVRNNElFd3hPREF1T1RrM01EUXhMRGt6TGprNU9UazVPVGdnVERFNE1DNDVPVFl3TXpJc09UTXVPVGs1T1RrNU9TQkRNVGd3TGprNU5UUTNOU3c0TlM0M01UWXhNakkySURFM05DNHlOems1TURrc056a3VNREF4TURBNE55QXhOalV1T1RrMk1ETXlMRGM1TGpBd01UQXdPRGNnVERFeU1pdzNPQzQ1T1RrNU9UazVJRU14TVRNdU56RTFOekk1TERjNExqazVPVGs1T1RrZ01UQTNMRGcxTGpjeE5UY3lPRFlnTVRBM0xEa3pMams1T1RrNU9Ua2dUREV3Tnl3eE16WXVNREUxTmpJeklFd3hNRGNzTVRNMkxqQXhOVFl5TXlCRE1UQTNMREUwTkM0eU9UazRPVFVnTVRFekxqY3hOVGN5T1N3eE5URXVNREUxTmpJeklERXlNaXd4TlRFdU1ERTFOakl6SUV3eE5qZ3NNVFV4TGpBeE5UWXlNeUJNTVRZNExERTJNeUJETVRZNExERTJOQzQyTlRZNE5UUWdNVFkyTGpZMU5qZzFOQ3d4TmpZZ01UWTFMREUyTmlCTU1USXdMREUyTmlCTU1USXdMREUzT1NCTU1UWTFMams1TmpBek1pd3hOemtnVERFMk5TNDVPVFl3TXpJc01UYzRMams1TnpnM055QkRNVGMwTGpJM09UUTNOQ3d4TnpndU9UazNPRGMzSURFNE1DNDVPVFE0Tml3eE56SXVNamd6TkRReUlERTRNQzQ1T1RZd016SXNNVFkwSUV3eE9ERXNNVFV3TGprMk1EVTFOQ0JNTWpFeExERTFNQzQ1TmpBMU5UUWdUREl4TVN3eE56RXVOakEyTWpBM0lFd3lNVEVzTVRjeExqWXdOakl3TnlCRE1qRXhMREUzTmk0NU5qVXhPVEVnTWpBNExqRTBNVEF4Tml3eE9ERXVPVEUzTURrMklESXdNeTQxTERFNE5DNDFPVFkxT0RnZ1RERXhNeTR6TURZME1qVXNNak0yTGpZMk9UZzNNeUJNTVRFekxqTXdOalF5TlN3eU16WXVOalk1T0RjeklFTXhNRGd1TmpZMU5EQTVMREl6T1M0ek5Ea3pOalVnTVRBeUxqazBOelEwTVN3eU16a3VNelE1TXpZMUlEazRMak13TmpReU5Td3lNell1TmpZNU9EY3pJRXc0TGpFeE1qZzBPVGt6TERFNE5DNDFPVFkxT0RnZ1REZ3VNVEV5T0RRNU9UTXNNVGcwTGpVNU5qVTRPQ0JETXk0ME56RTRNek0zT0N3eE9ERXVPVEUzTURrMklEQXVOakV5T0RRNU9UTXhMREUzTmk0NU5qVXhPVEVnTUM0Mk1USTRORGs1TXpFc01UY3hMall3TmpJd055Qk1NQzQyTVRJNE5EazVNekVzTVRJeElFd3lOeXd4TWpFZ1RESTNMREV6TmlCRE1qY3NNVFEwTGpJNE5ESTNNU0F6TXk0M01UVTNNamczTERFMU1TQTBNaXd4TlRFZ1REUXlMREUxTVNCTU1UQXdMREUxTVNCTU1UQXdMRGswSUVNeE1EQXNPRFV1TnpFMU56STRPQ0E1TXk0eU9EUXlOekV5TERjNUlEZzFMRGM1SUV3eU55dzNPU0JNTWpjc09USWdURGcwTERreUlFTTROUzQyTlRZNE5UUXlMRGt5SURnM0xEa3pMak0wTXpFME5UZ2dPRGNzT1RVZ1REZzNMRGsxSUV3NE55d3hNRGdnVERBdU5qRXlPRFE1T1RNeExERXdPQ0JhSWlCcFpEMGljR0YwYUMweElqNDhMM0JoZEdnK0NpQWdJQ0E4TDJSbFpuTStDaUFnSUNBOFp5QnBaRDBpVTNsdFltOXNjeUlnYzNSeWIydGxQU0p1YjI1bElpQnpkSEp2YTJVdGQybGtkR2c5SWpFaUlHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krQ2lBZ0lDQWdJQ0FnUEdjZ2FXUTlJa3h2WjI4aVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRjM0xEVTFJRXcwT1RRc05UVWdURFE1TkN3eE5URWdURFF6TlN3eE5URWdRelF5Tmk0M01UVTNNamtzTVRVeElEUXlNQ3d4TkRRdU1qZzBNamN4SURReU1Dd3hNellnVERReU1DdzVOaUJETkRJd0xEZzNMamN4TlRjeU9EZ2dOREkyTGpjeE5UY3lPU3c0TVNBME16VXNPREVnVERRek5TdzRNU0JNTkRjM0xEZ3hJRXcwTnpjc05UVWdXaUJOTkRRd0xEazRJRU0wTXpndU16UXpNVFEyTERrNElEUXpOeXc1T1M0ek5ETXhORFU0SURRek55d3hNREVnVERRek55d3hNekVnUXpRek55d3hNekl1TmpVMk9EVTBJRFF6T0M0ek5ETXhORFlzTVRNMElEUTBNQ3d4TXpRZ1REUTNOeXd4TXpRZ1REUTNOeXc1T0NCTU5EUXdMRGs0SUZvaUlHbGtQU0prSWlCbWFXeHNQU0lqUmtaR1JrWkdJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pwSWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3pPVFl1TURBd01EQXdMQ0ExTlM0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d2IyeDVaMjl1SUdsa1BTSlFZWFJvTFRZaUlHWnBiR3c5SWlOR1JrWkdSa1lpSUhCdmFXNTBjejBpTUNBeU5pQXhOeUF5TmlBeE55QTVOaUF3SURrMklqNDhMM0J2YkhsbmIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjRzlzZVdkdmJpQnBaRDBpVUdGMGFDMDNJaUJtYVd4c1BTSWpSVEV4UmpJeUlpQndiMmx1ZEhNOUlqQWdNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNUzR4TXpZNE5qZ3pPR1V0TVRNZ01UY2dNVGNnTUNBeE55SStQQzl3YjJ4NVoyOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBZ0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWswek16RXNNVFV4SUV3ek5EZ3NNVFV4SUV3ek5EZ3NNVEF4SUV3ek5EZ3NNVEF4SUVNek5EZ3NPVGt1TXpRek1UUTFPQ0F6TkRrdU16UXpNVFEyTERrNElETTFNU3c1T0NCTU16ZzVMRGs0SUV3ek9Ea3NPREVnVERNME5pdzRNU0JNTXpRMkxEZ3hJRU16TXpjdU56RTFOekk1TERneElETXpNU3c0Tnk0M01UVTNNamc0SURNek1TdzVOaUJNTXpNeExERTFNU0JhSWlCcFpEMGljaUlnWm1sc2JEMGlJMFpHUmtaR1JpSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTXpJMExEZzJJRXd6TWpRc056WWdURE15TkN3M05pQkRNekkwTERZM0xqY3hOVGN5T0RnZ016RTNMakk0TkRJM01TdzJNU0F6TURrc05qRWdUREkwT1N3Mk1TQk1NalE1TERZeElFTXlOREF1TnpFMU56STVMRFl4SURJek5DdzJOeTQzTVRVM01qZzRJREl6TkN3M05pQk1Nak0wTERFek5pQk1Nak0wTERFek5pQkRNak0wTERFME5DNHlPRFF5TnpFZ01qUXdMamN4TlRjeU9Td3hOVEVnTWpRNUxERTFNU0JNTXpBNUxERTFNU0JNTXpBNUxERTFNU0JETXpFM0xqSTROREkzTVN3eE5URWdNekkwTERFME5DNHlPRFF5TnpFZ016STBMREV6TmlCTU16STBMREV3TUNCTU1qZzNMREV3TUNCTU1qZzNMREV4TnlCTU16QTNMREV4TnlCTU16QTNMREV6TVNCTU16QTNMREV6TVNCRE16QTNMREV6TWk0Mk5UWTROVFFnTXpBMUxqWTFOamcxTkN3eE16UWdNekEwTERFek5DQk1NalUwTERFek5DQk1NalUwTERFek5DQkRNalV5TGpNME16RTBOaXd4TXpRZ01qVXhMREV6TWk0Mk5UWTROVFFnTWpVeExERXpNU0JNTWpVeExEZ3hJRXd5TlRFc09ERWdRekkxTVN3M09TNHpORE14TkRVNElESTFNaTR6TkRNeE5EWXNOemdnTWpVMExEYzRJRXd6TURRc056Z2dURE13TkN3M09DQkRNekExTGpZMU5qZzFOQ3czT0NBek1EY3NOemt1TXpRek1UUTFPQ0F6TURjc09ERWdURE13Tnl3NE5pQk1NekkwTERnMklGb2lJR2xrUFNKSElpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKaFp5SStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaVEyOXRZbWx1WldRdFUyaGhjR1VpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHRZWE5ySUdsa1BTSnRZWE5yTFRJaUlHWnBiR3c5SW5kb2FYUmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpjR0YwYUMweElqNDhMM1Z6WlQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMjFoYzJzK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFZ6WlNCbWFXeHNQU0lqUlRFeFJqSXlJaUI0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB4SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKbklpQm1hV3hzUFNJalJURXhSakl5SWlCNFBTSXhNakFpSUhrOUlqa3lJaUIzYVdSMGFEMGlORGdpSUdobGFXZG9kRDBpTkRZaUlISjRQU0l6SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTkRBc01USXhJRXc0Tnl3eE1qRWdURGczTERFek9DQk1ORE1zTVRNNElFdzBNeXd4TXpnZ1F6UXhMak0wTXpFME5UZ3NNVE00SURRd0xERXpOaTQyTlRZNE5UUWdOREFzTVRNMUlFdzBNQ3d4TWpFZ1dpSWdhV1E5SWtOdmJXSnBibVZrTFZOb1lYQmxJaUJtYVd4c1BTSWpSVEV4UmpJeUlqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBOEwyYytDaUFnSUNBOEwyYytDand2YzNablBnPT0pO1xcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoNTAlKTtcXG4gICAgICBmaWx0ZXI6IGludmVydCg1MCUpO1xcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCA2MHB4O1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIGhlaWdodDogNjBweDtcXG4gICAgICB3aWR0aDogMTEwcHg7IH1cXG4gICAgLmFnLXJvb3Qtd3JhcHBlciAuYWctd2F0ZXJtYXJrIC5hZy13YXRlcm1hcmstdGV4dCB7XFxuICAgICAgb3BhY2l0eTogMC41O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBJbXBhY3Q7XFxuICAgICAgZm9udC1zaXplOiAxOXB4OyB9XFxuXFxuLmFnLXJvb3Qtd3JhcHBlci1ib2R5IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gIC5hZy1yb290LXdyYXBwZXItYm9keS5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgaGVpZ2h0OiAwO1xcbiAgICBtaW4taGVpZ2h0OiAwOyB9XFxuXFxuLmFnLXJvb3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1yb290LmFnLWxheW91dC1ub3JtYWwsIC5hZy1yb290LmFnLWxheW91dC1hdXRvLWhlaWdodCB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHdpZHRoOiAwOyB9XFxuICAuYWctcm9vdC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBWaWV3cG9ydHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWhlYWRlci12aWV3cG9ydCxcXG4uYWctZmxvYXRpbmctdG9wLXZpZXdwb3J0LFxcbi5hZy1ib2R5LXZpZXdwb3J0LFxcbi5hZy1waW5uZWQtbGVmdC1jb2xzLXZpZXdwb3J0LFxcbi5hZy1jZW50ZXItY29scy12aWV3cG9ydCxcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtdmlld3BvcnQsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS12aWV3cG9ydCxcXG4uYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC12aWV3cG9ydCxcXG4uYWctdmlydHVhbC1saXN0LXZpZXdwb3J0IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMHB4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtbm9ybWFsIHtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XFxuICAuYWctYm9keS12aWV3cG9ydDpub3QoLmFnLWxheW91dC1wcmludCkuYWctZm9yY2UtdmVydGljYWwtc2Nyb2xsIHtcXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtdmlld3BvcnQsIC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctY2VudGVyLWNvbHMtdmlld3BvcnQge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdy14OiBhdXRvOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQge1xcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC12aWV3cG9ydCB7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDb250YWluZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXItY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy10b3AtY29udGFpbmVyLFxcbi5hZy1ib2R5LWNvbnRhaW5lcixcXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1jZW50ZXItY29scy1jb250YWluZXIsXFxuLmFnLXBpbm5lZC1sZWZ0LWNvbHMtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyLFxcbi5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lcixcXG4uYWctZnVsbC13aWR0aC1jb250YWluZXIsXFxuLmFnLWZsb2F0aW5nLWJvdHRvbS1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctdmlydHVhbC1saXN0LWNvbnRhaW5lciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctaGVhZGVyLWNvbnRhaW5lciwgLmFnLWZsb2F0aW5nLXRvcC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1ib3R0b20tY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctYm9keS12aWV3cG9ydCAuYWctY2VudGVyLWNvbHMtY2xpcHBlciB7XFxuICBtaW4taGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQuYWctbGF5b3V0LWF1dG8taGVpZ2h0IC5hZy1jZW50ZXItY29scy1jbGlwcGVyLCAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtYXV0by1oZWlnaHQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuXFxuLmFnLWJvZHktdmlld3BvcnQgLmFnLWNlbnRlci1jb2xzLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1ib2R5LXZpZXdwb3J0LmFnLWxheW91dC1wcmludCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IG5vbmU7XFxuICBmbGV4OiBub25lOyB9XFxuICAuYWctYm9keS12aWV3cG9ydC5hZy1sYXlvdXQtcHJpbnQgLmFnLWNlbnRlci1jb2xzLWNsaXBwZXIge1xcbiAgICBtaW4td2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWNvbHMtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lcixcXG4uYWctZmxvYXRpbmctdG9wLWZ1bGwtd2lkdGgtY29udGFpbmVyLFxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwcHg7XFxuICBsZWZ0OiAwcHg7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLWNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20tZnVsbC13aWR0aC1jb250YWluZXIsIC5hZy1mbG9hdGluZy10b3AtZnVsbC13aWR0aC1jb250YWluZXIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLXZpcnR1YWwtbGlzdC1jb250YWluZXIge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2Nyb2xsZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jZW50ZXItY29scy1jbGlwcGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMTtcXG4gIGZsZXg6IDE7XFxuICBtaW4td2lkdGg6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgbWluLWhlaWdodDogMDtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctbGF5b3V0LXByaW50IC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4uYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDtcXG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxcbiAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyLCAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBIZWFkZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1oZWFkZXIsIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlLCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1zb3J0YWJsZSwgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXNvcnRhYmxlIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1oZWFkZXItaWNvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1yb3cge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5hZy1oZWFkZXItb3ZlcmxheSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1oZWFkZXItY2VsbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBsaW5lLWhlaWdodDogMS41OyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsLWxhYmVsLCAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1jZWxsLXRleHQge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcblxcbi5hZy1oZWFkZXItZ3JvdXAtdGV4dCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDRweDsgfVxcblxcbi5hZy1oZWFkZXItZXhwYW5kLWljb24ge1xcbiAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cXG5cXG4uYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY29sdW1uLW1vdmluZyAuYWctY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4yczsgfVxcblxcbi5hZy1jb2x1bW4tbW92aW5nIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4ycztcXG4gIHRyYW5zaXRpb246IGxlZnQgMC4ycywgd2lkdGggMC4yczsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogQ29sdW1uIFBhbmVsXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1jb2x1bW4tcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogNDtcXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiA0O1xcbiAgZmxleC1ncm93OiA0O1xcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XFxuICBmbGV4LXNocmluazogMTtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgZmxleC1iYXNpczogMDsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICBmbGV4OiBub25lOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgICAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciBpbnB1dCB7XFxuICAgICAgICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cXG5cXG4uYWctY29sdW1uLWRyb3Age1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgLW1zLWZsZXg6IDEgMSAwcHg7XFxuICBmbGV4OiAxIDEgMDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xcbiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxcbiAgLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gZGl2IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctY29sdW1uLWRyb3AuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cXG4gIC5hZy1jb2x1bW4tZHJvcC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuXFxuLmFnLWNvbHVtbi1kcm9wLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFJvd3NcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXJvdy1hbmltYXRpb24gLmFnLXJvdyB7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNHM7XFxuICB0cmFuc2l0aW9uOiB0b3AgMC40cywgaGVpZ2h0IDAuNHMsIGJhY2tncm91bmQtY29sb3IgMC4xcywgb3BhY2l0eSAwLjJzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIHRvcCAwLjRzLCBoZWlnaHQgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjFzLCBvcGFjaXR5IDAuMnM7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgdG9wIDAuNHMsIGhlaWdodCAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIG9wYWNpdHkgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC40czsgfVxcblxcbi5hZy1yb3ctbm8tYW5pbWF0aW9uIC5hZy1yb3cge1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG5cXG4uYWctcm93IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1yb3ctcG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuXFxuLmFnLXJvdy1wb3NpdGlvbi1yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG5cXG4uYWctZnVsbC13aWR0aC1yb3cge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG5cXG4uYWctcm93LWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctcm93LWRyYWdnaW5nIHtcXG4gIHotaW5kZXg6IDI7IH1cXG5cXG4uYWctc3R1Yi1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBDZWxsc1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctY2VsbCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuXFxuLmFnLWNlbGwtd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuICAuYWctY2VsbC13cmFwcGVyLmFnLXJvdy1ncm91cCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcXG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxcbiAgLmFnLWNlbGwtd3JhcHBlciAuYWctY2VsbC12YWx1ZSwgLmFnLWNlbGwtd3JhcHBlciAuYWctZ3JvdXAtdmFsdWUge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxcblxcbi5hZy1mdWxsLXdpZHRoLXJvdy5hZy1yb3ctZ3JvdXAgLmFnLWNlbGwtd3JhcHBlciB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG5cXG4uYWctY2VsbC13aXRoLWhlaWdodCB7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZ3JvdXAtY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1mb290ZXItY2VsbC1lbnRpcmUtcm93IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gIHotaW5kZXg6IDE7IH1cXG4gIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1jZWxsLWVkaXQtaW5wdXQsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIge1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBGaWx0ZXJzXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1jaGVja2JveCB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgRmlsdGVyXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IC5hZy1yZWFjdC1jb250YWluZXIsIC5hZy1mbG9hdGluZy1maWx0ZXItYm9keSAuYWctcmVhY3QtY29udGFpbmVyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItYm9keSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAtbXMtZmxleDogMSAxIGF1dG87XFxuICBmbGV4OiAxIDEgYXV0bztcXG4gIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTsgfVxcbiAgLmFnLWZsb2F0aW5nLWZpbHRlci1mdWxsLWJvZHkgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctZmxvYXRpbmctZmlsdGVyLWZ1bGwtYm9keSBpbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4gIC5hZy1mbG9hdGluZy1maWx0ZXItZnVsbC1ib2R5IGlucHV0W3R5cGU9XFxcInJhbmdlXFxcIl0ge1xcbiAgICBoZWlnaHQ6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcblxcbi5hZy1mbG9hdGluZy1maWx0ZXItaW5wdXQge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0Oi1tb3otcmVhZC1vbmx5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWlucHV0OnJlYWQtb25seSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuXFxuLmFnLWZsb2F0aW5nLWZpbHRlci1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4uYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERyYWcgJiBEcm9wXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1kbmQtZ2hvc3Qge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICBjdXJzb3I6IG1vdmU7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcGFkZGluZzogM3B4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgei1pbmRleDogMTA7IH1cXG5cXG4uYWctZG5kLWdob3N0LWljb24ge1xcbiAgcGFkZGluZzogMnB4OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBPdmVybGF5XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1vdmVybGF5IHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktcGFuZWwge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLW92ZXJsYXktd3JhcHBlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAtbXMtZmxleDogbm9uZTtcXG4gIGZsZXg6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctb3ZlcmxheS13cmFwcGVyLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxcblxcbi5hZy1vdmVybGF5LW5vLXJvd3Mtd3JhcHBlci5hZy1sYXlvdXQtYXV0by1oZWlnaHQge1xcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFBvcHVwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1wb3B1cCA+IGRpdiB7XFxuICB6LWluZGV4OiA1OyB9XFxuXFxuLmFnLXBvcHVwLWJhY2tkcm9wIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICB3aWR0aDogMTAwJTsgfVxcblxcbi5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFZpcnR1YWwgTGlzdHNcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuICAuYWctdmlydHVhbC1saXN0LWl0ZW0gc3BhbjplbXB0eTpub3QoLmFnLWljb24pIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogRmxvYXRpbmcgVG9wIGFuZCBCb3R0b21cXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLWZsb2F0aW5nLXRvcCB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG5cXG4uYWctcGlubmVkLWxlZnQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1waW5uZWQtcmlnaHQtZmxvYXRpbmctdG9wIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBtaW4td2lkdGg6IDBweDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDEwMDA7XFxuICAtbXMtZmxleC1wb3NpdGl2ZTogMTAwMDtcXG4gIGZsZXgtZ3JvdzogMTAwMDsgfVxcblxcbi5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4OyB9XFxuXFxuLmFnLXBpbm5lZC1sZWZ0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4uYWctcGlubmVkLXJpZ2h0LWZsb2F0aW5nLWJvdHRvbSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgbWluLXdpZHRoOiAwcHg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxMDAwO1xcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDEwMDA7XFxuICBmbGV4LWdyb3c6IDEwMDA7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIERpYWxvZ1xcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctZGlhbG9nIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgLmFnLWRpYWxvZyAuYWctcmVzaXplciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIHotaW5kZXg6IDE7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcExlZnQge1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIHdpZHRoOiA1cHg7XFxuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItdG9wIHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgbGVmdDogNXB4O1xcbiAgICAgIHJpZ2h0OiA1cHg7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgY3Vyc29yOiBucy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLXRvcFJpZ2h0IHtcXG4gICAgICB0b3A6IDA7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgaGVpZ2h0OiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1yaWdodCB7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1yZXNpemVyLmFnLXJlc2l6ZXItYm90dG9tUmlnaHQge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWJvdHRvbSB7XFxuICAgICAgYm90dG9tOiAwO1xcbiAgICAgIGxlZnQ6IDVweDtcXG4gICAgICByaWdodDogNXB4O1xcbiAgICAgIGhlaWdodDogNXB4O1xcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplOyB9XFxuICAgIC5hZy1kaWFsb2cgLmFnLXJlc2l6ZXIuYWctcmVzaXplci1ib3R0b21MZWZ0IHtcXG4gICAgICBib3R0b206IDA7XFxuICAgICAgbGVmdDogMDtcXG4gICAgICBoZWlnaHQ6IDVweDtcXG4gICAgICB3aWR0aDogNXB4O1xcbiAgICAgIGN1cnNvcjogbmVzdy1yZXNpemU7IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctcmVzaXplci5hZy1yZXNpemVyLWxlZnQge1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgdG9wOiA1cHg7XFxuICAgICAgYm90dG9tOiA1cHg7XFxuICAgICAgd2lkdGg6IDVweDtcXG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxcbiAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgIGZsZXg6IG5vbmU7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLXRpdGxlIHtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cXG4gIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy1jb250ZW50LXdyYXBwZXIge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1kaWFsb2ctY29udGVudC13cmFwcGVyID4gZGl2IHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gICAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWNvbnRlbnQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBUb29sdGlwXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy10b29sdGlwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgei1pbmRleDogOTk5OTk7IH1cXG5cXG4uYWctY2hhcnQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgei1pbmRleDogOTk5OTk7XFxuICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xcbiAgZm9udDogMTJweCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xcbiAgcGFkZGluZzogN3B4O1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDI0NCwgMjQ0LCAwLjkpO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy1jaGFydC10b29sdGlwIC50aXRsZSB7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBBbmltYXRpb25zXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy12YWx1ZS1zbGlkZS1vdXQge1xcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XFxuICBvcGFjaXR5OiAxO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDNzLCBtYXJnaW4tcmlnaHQgM3M7XFxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuLmFnLXZhbHVlLXNsaWRlLW91dC1lbmQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbiAgb3BhY2l0eTogMDsgfVxcblxcbi5hZy1vcGFjaXR5LXplcm8ge1xcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBNZW51XFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4qL1xcbi5hZy1tZW51IHtcXG4gIG1heC1oZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcblxcbi5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICBoZWlnaHQ6IDI2NXB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICB3aWR0aDogMjAwcHg7IH1cXG5cXG4uYWctbWVudS1saXN0IHtcXG4gIGRpc3BsYXk6IHRhYmxlOyB9XFxuXFxuLmFnLW1lbnUtb3B0aW9uLCAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgZGlzcGxheTogdGFibGUtcm93OyB9XFxuICAuYWctbWVudS1vcHRpb24gPiBzcGFuLCAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcblxcbi5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG5cXG4uYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBSaWNoIFNlbGVjdFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcmljaC1zZWxlY3Qge1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgb3V0bGluZTogbm9uZTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlID4gc3BhbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gICAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSAuYWctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgICBvcmRlcjogMTsgfVxcbiAgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogUGFnaW5hdGlvblxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctcGFnaW5nLXBhbmVsIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxcblxcbi5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctZGlzYWJsZWQge1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogVG9vbCBQYW5lbFxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuKi9cXG4uYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMjAwcHg7IH1cXG4gIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuXFxuLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbixcXG4uYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLFxcbiAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cXG5cXG4uYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDsgfVxcblxcbi5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHdpZHRoOiA1cHg7XFxuICB6LWluZGV4OiAxOyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC1ob3Jpem9udGFsLXJlc2l6ZSB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7IH1cXG5cXG4uYWctbHRyIC5hZy10b29sLXBhbmVsLWhvcml6b250YWwtcmVzaXplIHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XFxuXFxuLmxvYWRpbmctZmlsdGVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDM0cHg7XFxuICB3aWR0aDogMTAwJTtcXG4gIHotaW5kZXg6IDE7IH1cXG5cXG4uYWctZGV0YWlscy1yb3cge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctZGV0YWlscy1ncmlkIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gIHdpZHRoOiAxMDAlOyB9XFxuXFxuLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XFxuXFxuLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG5cXG4uYWctbnVtZXJpYy1oZWFkZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuXFxuLyoqXFxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKipcXG4gKiBHcm91cCBDb21wb25lbnRcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqL1xcbi5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG4gIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAtMTBweDsgfVxcbiAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi8qKlxcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuICogU2lkZSBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXNpZGUtYmFyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgZGl2IGJ1dHRvbiBzcGFuOm5vdCguYWctaWNvbikge1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0YjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHRiO1xcbiAgICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcXG4gICAgICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1scjtcXG4gICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyOyB9XFxuICAuYWctc2lkZS1iYXIgLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAxODBweDsgfVxcbiAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLnBhbmVsLWNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgYnV0dG9uIHNwYW46bm90KC5hZy1pY29uKSB7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdGItcmw7XFxuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XFxuICAtbXMtd3JpdGluZy1tb2RlOiB0Yi1ybDtcXG4gIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7IH1cXG5cXG4vKipcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiAqIFN0YXR1cyBCYXJcXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxcbiovXFxuLmFnLXN0YXR1cy1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gIC5hZy1zdGF0dXMtYmFyIC5hZy1zdGF0dXMtcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctc3RhdHVzLWJhci1sZWZ0IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuXFxuLmFnLXN0YXR1cy1iYXItcmlnaHQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgcGFkZGluZy1sZWZ0OiA5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1sZWZ0OiAxMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgcGFkZGluZy1yaWdodDogMTEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctbGVmdDogMTEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDEzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDEzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgcGFkZGluZy1yaWdodDogMTQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1sZWZ0OiAxNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgcGFkZGluZy1yaWdodDogMTUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1sZWZ0OiAxNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgcGFkZGluZy1yaWdodDogMTcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctbGVmdDogMTcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1sZWZ0OiAxODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgcGFkZGluZy1yaWdodDogMTgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctbGVmdDogMTkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDE5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDE5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAxOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1sZWZ0OiAyMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgcGFkZGluZy1yaWdodDogMjAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1sZWZ0OiAyMTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgcGFkZGluZy1yaWdodDogMjEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctbGVmdDogMjIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLWxlZnQ6IDIyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1sZWZ0OiAyMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgcGFkZGluZy1yaWdodDogMjMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctbGVmdDogMjMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDIzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctbGVmdDogMjUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLWxlZnQ6IDI1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1sZWZ0OiAyNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgcGFkZGluZy1yaWdodDogMjYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDI3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1sZWZ0OiAyNzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgcGFkZGluZy1yaWdodDogMjcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1sZWZ0OiAyOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgcGFkZGluZy1yaWdodDogMjkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctbGVmdDogMjkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDI5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1sZWZ0OiAzMDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctbGVmdDogMzEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLWxlZnQ6IDMxMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLWxlZnQ6IDMzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1sZWZ0OiAzMzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgcGFkZGluZy1yaWdodDogMzMwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctbGVmdDogMzQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLWxlZnQ6IDM0MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1sZWZ0OiAzNTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgcGFkZGluZy1yaWdodDogMzUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctbGVmdDogMzUwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM1MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctbGVmdDogMzcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLWxlZnQ6IDM3MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzNzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1sZWZ0OiAzODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgcGFkZGluZy1yaWdodDogMzgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLWxlZnQ6IDM5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICBwYWRkaW5nLXJpZ2h0OiAzOTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1sZWZ0OiAzOTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctbGVmdDogNDAwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1sZWZ0OiA0MTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgcGFkZGluZy1yaWdodDogNDEwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctbGVmdDogNDEwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQxMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctbGVmdDogNDMwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQzMHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLWxlZnQ6IDQzMHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0MzBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1sZWZ0OiA0NDBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgcGFkZGluZy1yaWdodDogNDQwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ1MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NTBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1sZWZ0OiA0NTBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgcGFkZGluZy1yaWdodDogNDUwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctbGVmdDogNDYwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ2MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ2MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1sZWZ0OiA0NzBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgcGFkZGluZy1yaWdodDogNDcwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctbGVmdDogNDcwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ3MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcblxcbi5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcblxcbi5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG5cXG4uYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctbGVmdDogNDkwcHg7IH1cXG5cXG4uYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDQ5MHB4OyB9XFxuXFxuLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLWxlZnQ6IDQ5MHB4OyB9XFxuXFxuLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICBwYWRkaW5nLXJpZ2h0OiA0OTBweDsgfVxcblxcbi5hZy1sdHIge1xcbiAgZGlyZWN0aW9uOiBsdHI7IH1cXG4gIC5hZy1sdHIgLmFnLWJvZHksIC5hZy1sdHIgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLWx0ciAuYWctZmxvYXRpbmctYm90dG9tLCAuYWctbHRyIC5hZy1oZWFkZXIsIC5hZy1sdHIgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1sdHIgLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgLmFnLWx0ciAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgcmlnaHQ6IC00cHg7IH1cXG4gIC5hZy1sdHIgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGxlZnQ6IC00cHg7IH1cXG5cXG4uYWctcnRsIHtcXG4gIGRpcmVjdGlvbjogcnRsOyB9XFxuICAuYWctcnRsIC5hZy1ib2R5LCAuYWctcnRsIC5hZy1mbG9hdGluZy10b3AsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWJvdHRvbSwgLmFnLXJ0bCAuYWctaGVhZGVyLCAuYWctcnRsIC5hZy1ib2R5LXZpZXdwb3J0LCAuYWctcnRsIC5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxcbiAgLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgbGVmdDogLTRweDsgfVxcbiAgLmFnLXJ0bCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICByaWdodDogLTRweDsgfVxcblxcbkBtZWRpYSBwcmludCB7XFxuICAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAuYWctcm93IHtcXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9IH1cXG5cXG4uYWctYm9keSAuYWctcGlubmVkLWxlZnQtY29scy12aWV3cG9ydCwgLmFnLWJvZHkgLmFnLWJvZHktdmlld3BvcnQsIC5hZy1ib2R5IC5hZy1waW5uZWQtcmlnaHQtY29scy12aWV3cG9ydCB7XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cXG5cXG4uYWctY2hhcnQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7IH1cXG4gIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtY2FudmFzLXdyYXBwZXIgY2FudmFzIHtcXG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDEwcHg7XFxuICAgIHJpZ2h0OiAyMHB4O1xcbiAgICB3aWR0aDogMjRweDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgPiBkaXYge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4uYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1oZWFkZXIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgZmxleDogbm9uZTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLXRhYi1ib2R5ID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3Mge1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XFxuICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XFxuICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuMjsgfVxcbiAgICAgICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLWNoYXJ0LXNldHRpbmdzLXByZXYtYnRuLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biB7XFxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xcbiAgICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctY2hhcnQtc2V0dGluZ3MtcHJldi1idG4gYnV0dG9uLCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1jaGFydC1zZXR0aW5ncy1uZXh0LWJ0biBidXR0b24ge1xcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICAgIHRvcDogMDtcXG4gICAgICAgICAgbGVmdDogMDtcXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XFxuICAgIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLXdyYXBwZXIgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciB7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIHRvcDogMDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZywgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyLmFnLWFuaW1hdGluZyB7XFxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cXG4gICAgICAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy13cmFwcGVyIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgLmFnLWNoYXJ0LW1pbmktdGh1bWJuYWlsIHtcXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAgICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3Mtd3JhcHBlciAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIC5hZy1jaGFydC1taW5pLXRodW1ibmFpbCBjYW52YXMge1xcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtZGF0YS13cmFwcGVyIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XFxuXFxuLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3BhbiB7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG4gICAgd2lkdGg6IDI0cHg7XFxuICAgIGhlaWdodDogMjRweDtcXG4gICAgbWFyZ2luOiAycHggMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCkge1xcbiAgb3BhY2l0eTogMTtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cXG4gIC5hZy1jaGFydDpob3ZlciAuYWctY2hhcnQtbWVudTpub3QoLmFnLWhhcy1wb3B1cCk6aG92ZXIgPiBzcGFuIHtcXG4gICAgb3BhY2l0eTogMTsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctdGFiLWJvZHkge1xcbiAgcGFkZGluZzogMDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICBtYXJnaW46IDVweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcblxcbi5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIge1xcbiAgcGFkZGluZzogMCAxMHB4O1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxcbiAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3Ige1xcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cXG4gICAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcblxcbi8qIHRhcmdldHMgSUUxMSBvbmx5ICovXFxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcXG4gIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgY29sb3I6ICNGNUY1RjU7XFxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDEycHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwQjBGRjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM0MzY7XFxuICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgKjpmb2N1cywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrICogKjpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDY0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTQ4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjMycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiAjZTUzOTM1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzNiwgMjQwLCAyNDEsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2VjZjBmMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNDYsIDQ2LCAwLjMpO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzYsIDI0MCwgMjQxLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYzJlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMC44NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM0MjQyNDI7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzQzNjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMEIwRkY7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDc0OTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yIHtcXG4gICAgICBoZWlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjM0MjQyNDInJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjRweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3Qge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWMxZjIwO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDE2cHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC42NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYW5lbCA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTZweDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTg4MDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjIpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDE2NiwgMjU1LCAwLjUpOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMTc3LCA3NCwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwMEIwRkY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMwZjBmMGY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1saXN0IHtcXG4gICAgICB3aWR0aDogMjAwcHg7XFxuICAgICAgaGVpZ2h0OiAxODJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ3NDk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ODgwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYzFmMjA7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNjQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjMzIzOTNjO1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtaW4td2lkdGg6IDE2cHg7XFxuICAgICAgbWFyZ2luOiAwIDJweDtcXG4gICAgICBvcGFjaXR5OiAwLjY0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2O1xcbiAgICBoZWlnaHQ6IDcwcHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC4zOCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6ICNGNUY1RjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJkMzQzNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyMDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMyZDM0MzY7XFxuICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIGNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNjQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNTA1OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDM5M2I7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjMmQzNDM2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxOTFhOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2LmFnLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItY29sb3I6ICMwMEIwRkY7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjRjVGNUY1O1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uIHtcXG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cXG4gICAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBjb2xvcjogI2VjZjBmMTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwQjBGRjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDBCMEZGOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1yYWRpby1idXR0b24tb246YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MjhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zYXZlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi1zbWFsbC1yaWdodDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtY2xvc2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjQyNDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjBGRiAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDgwJTtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2NiwgNjYsIDY2LCAwLjUpO1xcbiAgICBjb250ZW50OiBcXFwiIFxcXCI7XFxuICAgIGhlaWdodDogMTZweDtcXG4gICAgbWFyZ2luLXRvcDogOHB4O1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRleHQtaW5kZW50OiAtMjAwMHB4O1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbHRyIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1oZWFkZXItY2VsbDo6YWZ0ZXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQyNDI0MjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1sdHIgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3AuYWctd2lkdGgtaGFsZjpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzVjNWM1YzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBib3JkZXItY29sb3I6ICMwMDU4ODA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1pbi1oZWlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjIwO1xcbiAgICBoZWlnaHQ6IDMycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcXG4gICAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctc2lkZS1iYXIsXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcnRsIC5hZy1pY29uLWV4cGFuZGVkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1ydGwgLmFnLWljb24tY29udHJhY3RlZCB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctdGFiLWJvZHksXFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLXBvcHVwLWVkaXRvcixcXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI4cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNDM2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0MjQyO1xcbiAgICBjb2xvcjogI0Y1RjVGNTtcXG4gICAgcGFkZGluZzogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NiwgMjU1LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzYsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0tZGFyayAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzQyNDI0MjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbS1kYXJrIHNlbGVjdCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjJjMmU7XFxuICAgIGNvbG9yOiAjRjVGNUY1OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLWRhcmsgLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDM0MzY7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJhZ0dyaWRCYWxoYW1cXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVaZzcvR0pBQUFBRjRBQUFiQkdobFlXUVZNeVFIQUFBY2ZBQUFBRFpvYUdWaEI4SUQrQUFBSExRQUFBQWthRzEwZU5JQUlnTUFBQnpZQUFBQTNHeHZZMkc3cE1JZUFBQWR0QUFBQUhCdFlYaHdBRVFBbFFBQUhpUUFBQUFnYm1GdFpkQ0ZLR0lBQUI1RUFBQUJ3bkJ2YzNRQUF3QUFBQUFnQ0FBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBREFELy8vd1BCQTRFQUp3QlFBSEFBQUFFZUFSY1dGUllVQnhRSERnRUhCaU1HSWljaUp5NEJKeVkxSmpRM05EYytBVGMyTXpZeUZ6SUZJZ1lIQmdjT0FSY1VGeDRCRnhZWEZqSTNOamMrQVRjMk56WTBKeVluTGdFbkppTWlCZ2NHSXdFak5TRWNBUlVlQVJjV0JnY09BUlVoTlRNVklUUTJOejRCSnk0Qkp6VWhBeVErWEFJQkFRRUJBbHcrU1VsSmtrbEpTVDFkQWdFQkFRRUNYRDVKU1VtU1NVbitCU1U2QVFFQkFRRUJBd0kxSkVsSlNwSktTVWtrTlFJREFRRUJBUU1DTlNSSlNFbVJTVWhKQWVCQS93QUJkUmtRQ2hnblZnRUFRUDZBQmhzdFpDQXVZZ0lCZ0FPQUFsdytTVWxKa2tsSlNUNWNBZ0VCQVFFQ1hENUpTVW1TU1VsSlBsd0NBUUVCUVRnbVNFbEpra2xKU1NRMUFnTUJBUUVCQXdJMUpFbEpTcEpLU1Vra05RSURBUUVCL3dCQUFRRUJJRUlySEVRWElqMGFRSUFtVEJnblJ4OHBSelJGQUFFQVV3QVRBNjBEYlFBbkFBQVRGd2NuTng0QkZ3Y2hFUWNuTng0QkZ3Y25FU0VuTng0QkZ3Y25OeUVSTng0QkZ3Y25OeGNSelVvdWxwWU1GZ3hLQVJOSkxwY21TeVl1U1FFVFNpNGxUQ1dXTGtyKzdVa01GZ3lYbHk1SkFhQkpMcGVYREJZTVNRRVRTaTZXSlV3bExrcis3VWt1SmtzbWx5NUovdTFLREJZTWxwWXVTZ0VUQUFBQkFTa0FtUUxYQXVjQUNnQUFBUWNuTng0QkZ3Y25FU01CNElrdTF6WnJOaTZKUUFKc2lTM1hObXMyTFluK0xRQURBSUFBUUFPQUEwQUFHd0EzQUVZQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WUhNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJFemNlQVJjSEZ3Y25CeWMzSnpjWEFnQlBSa1pwSGg0ZUhtbEdSazlQUmtacEhoNGVIbWxHUms5Q096cFhHUmtaR1ZjNk8wSkNPenBYR1JrWkdWYzZPMEtwREJZTXFxb3VxYWt1cXFvdXFRTkFIaDVwUmtaUFQwWkdhUjRlSGg1cFJrWlBUMFpHYVI0ZVFCa1pWem83UWtJN09sY1pHUmtaVnpvN1FrSTdPbGNaR2Y3dHFnd1dES21wTHFxcUxxbXBMcW9BQXdEVkFKVURLd0xyQUFRQUNRQU5BQUFUTXhFakVUY3pFU01SRXpNUkk5V0FnTzk0ZU85NGVBSTMvbDRCb3JUOXFnSlcvcXIvQUFBREFBRC93QVFBQThBQUVBQWhBQ2tBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlqRXlFaUJoVVJGQll6SVRJMk5SRTBKaU1IQVNjM0Z3RWVBUU5JL1hCTWJHeE1BcEJNYkd4TUF2MXRMVUZCTFFLVExVRkFMZ3orVk5Bem5RRjVEUnBBYkV3Q2tFeHNiRXo5Y0V4c0E3bEJMZjF0TGtCQUxnS1RMVUgzL2xQUk5KMEJlQTBhQUFBQUF3QUEvOEFFQUFQQUFCQUFJUUFsQUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lqQXlFMUlRTkkvWEJNYkd4TUFwQk1iR3hNQXYxdExVRkJMUUtUTFVGQUxpWDl0Z0pLUUd4TUFwQk1iR3hNL1hCTWJBTzVRUzM5YlM1QVFDNENreTFCL2lKS0FBQUFBZ0FBLzhBRUFBUEFBQkFBSVFBQUFUSVdGUkVVQmlNaElpWTFFVFEyTXlFWElTSUdGUkVVRmpNaE1qWTFFVFFtSXdOSVRHeHNUUDF3VEd4c1RBS1FBdjF0TFVGQkxRS1RMVUZBTGdQQWJFejljRXhzYkV3Q2tFeHNSMEV0L1cwdVFFQXVBcE10UVFBQ0FNQUFvQUhBQXVBQUNRQVBBQUFsSVJFaEZCVWNBUlVVQXhFekVTb0JBY0QvQUFFQXdJQWdRS0FDUUVoSVNKQklTQUc0L2tBQndBQUFBQUFFQU1BQW9BTkFBdUFBQXdBSEFBc0FEd0FBSlNNUk14TWpFVE1USXhFekFTTVJNd0hBUUVEQVFFREFRRUQ5d0VCQW9BSkEvY0FDUVAzQUFrRDl3QUpBQUFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUF3Q2dBRUFEWUFOQUFCQUFJQUF6QUFBbEl5SW1OUkUwTmpzQk1oWVZFUlFHSXhNaElnWVZFUlFXTXlFeU5qVVJOQ1lCSXp3Qk5SRTBOak1oT2dFekZTRWlCaFVSQXI3N1EyQmdRL3REWDE5REJmNzlKemMzSndFREp6YzMvZmRCWDBNQm1nRUNBZjVkSmpaQVgwUUJPa05nWUVQK3hrUmZBa0E0SnY2N0p6YzNKd0ZGSmpqK0FBRUVBZ0lYUTE5QU5pYjkzQUFBQUFBQkFTa0E2UUxYQXBjQURnQUFBVGNlQVJjSEZ3Y25CeWMzSnpjWEFnQ3BEQllNcXFvdXFha3VxcW91cVFIdHFnd1dES21wTHFxcUxxbXBMcW9BQUFBQUJRQkFBQUFEd0FPQUFDVUFNZ0EvQUVzQVVRQUFBVDRCTlRRbUl5SUdGUlFXTXpJMk54Y0hMZ0VqSWdZVkZCWXpNalkxTkNZbk53RXpOUUVISWlZMU5EWXpNaFlWRkFZakVTSW1OVFEyTXpJV0ZSUUdJd0VpSmpVME5qTXlGaFVVQmdrQkZ3RTFJd0dXQ0FocFNrcHBhVW9VSlJGcGFSRWxGRXBwYVVwS2FRZ0lhZ0U2aHYzV295VTBOQ1VsTlRVbEpUUTBKU1UxTlNVQkRRa05EUWtKRFEwQk1mN3pXUUU2aGdLREVTVVVTbWxwU2twcENBaHFhZ2dJYVVwS2FXbEtGQ1VSYWY3SExRSXBFRFVsSlRRMEpTVTEvZWMwSlNVMU5TVWxOQUZRRFFrSkRRMEpDUTBCcWY3eldRRTVMUUFBQndDR0FGWURlZ01xQUFzQUR3QWJBQ2dBTEFBNEFEd0FBRGNpQmhVVUZqTXlOalUwSmdVMUlSVURJZ1lWRkJZek1qWTFOQ1lITWhZVkZBWWpJaVkxTkRZekJTRTFJUUV5RmhVVUJpTWlKalUwTmdVaE5TSEdHaVltR2hzbEpRS1ovZWFhR2lZbUdoc2xKUnNTR1JrU0VSa1pFUUlKL3BFQmIvMzNHeVVsR3hvbUpnTE8vZVlDR3RZbUdoc2xKUnNhSm10VlZRR1ZKaG9hSmlZYUdpWVZHUklTR1JrU0VobFdWZ0UvSlJzYUppWWFHeVZxVlFBQUFBRUJLUUNaQXRjQzV3QUtBQUFCTng0QkZ3Y25OeGNSTXdJZ2lRd1dETmZYTG9sQUFSU0pDeGNMMTljdGlRSFRBQUVCWGdDcEFxSUMxd0FNQUFBSkFTYzNKemNXRng0QkZ4WVhBcUwrNlMzcDZTMGpJeU5GSXlNakFjRCs2UzdwNlM0akl5TkdJaU1qQUFBQUFBVUFRd0J6QTcwRERRQXNBRW9BYUFCekFIMEFBQUUrQVRjNkFUTVdGeDRCRnhZWE1BWUhEZ0VIRndjbkJnY0dKaWNtSnk0Qkp5NEJKekEyTno0Qk55YzNGd2NPQVE4QkZoY2VBUmNXTno0Qk55Y09BU01pSnk0Qkp5WTFORFkzSndFK0FUOEJKaWN1QVNjbUJ3NEJCeGMrQVRNeUZ4NEJGeFlWRkFZSEZ3RU9BUlVVRmpNeU5qY25CVDRCTlRRbUl5SUdCd0VxTDJnMkJ3UUhTRU5DY2kwdEd6a3VFQ1FUUGkxTE9VQkFnRDQ5TlNsRUdRb1BDaVViRnpjZ1BpMUtDakZPR0FFZE56ZUpURXhJQ3hZS0hSeEVKaThvS1QwU0VSY1ZNQUhCTVUwWUFSZ25LR1U3T3o0cFVDVWtIRVFtTGlrcFBSRVNHQlVxL3AwTURsNUNHQzBUM2dFTERRNWVRaGtzRXdMRUZ4c0NBaGdYVWprNFJIWXdFUjROUGkxTEhBME1DQlVWSmg1S0xCRWlHRk1rSHpZV1BpMUpVU0ZaTndKRk5UVS9Cd2NYQkFnRkhSVVlFaEk4S1NrdUprUWNNZjZaSVZvM0FqZ3VMa0VTRWdFQkV4RWpGUmNSRWowcEtDOGxSUndxQVFnVExCbENYZzROM2JBVExSaERYUTRNQUFRQVF3Q1pBNzBDOWdBa0FFTUFZQUJ6QUFBQkZoY2VBUmNXRnpBR0J3WUhEZ0VuSmljdUFTY3VBU2N3TmpjMk56NEJOelkzT2dFekJ3WUhEZ0VIQmc4QkZoY2VBUmNXTnpZM1BnRTNOajhCSmljdUFTY21JeGN5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6RnpBME1UUW1JeUlHSFFFVUZqTXlOalV3TkFJSlNFTkNjaTB0R3prdU9rNU9xRk5VUlNsRUdRb1BDaVViSUNrcVlEVTFOd2NFQnhFN09EZGdKeVlZQVIwM040bE1URWdxSlNaQUdob1NBUmduS0dVN096NElMU2duT3hFU0VoRTdKeWd0TFNnbk94RVNFaEU3SnlndG9GNUNRbDVlUWtKZUF2WUNHQmRTT1RoRWRqQTlJeVFRRlJReUhrb3NFU0lZVXlRckl5TXlEZzRDUUFJU0UwQXRMRFlDUlRVMVB3Y0hGdzBXRmpzakl5Z0RPQzR0UWhJUkh4RVJPeWNvTFMwb0p6c1NFUkVTT3ljb0xTMG9KenNSRWRnQlFsNWVRZ0pDWGw1Q0FRQUFBQUFDQU1BQW9BTkFBd0FBSFFBN0FBQUJCZ2NPQVFjR0J3NEJIUUVITkRZbk5DWW5KaWN1QVNjbUp6VWhIQUVGRkJZWEZoY2VBUmNXRnhVM05UWTNQZ0UzTmpjK0FUVWlJeW9CSXlJRFFBRVdGVUVsSmlBRUJNQUNBZ1VESVNVbVFCWVZBUUtBL2NBRUJDRWxKa0FXRlFGQUFSWVZRU1VtSUFRRVFFQkFnRUJBQXJvZ0h4OC9JQ0FpQlFzR2RaQkNnMElHQ2dRaUlTSkFIaDhkUmhFakRBY09CaUloSWtBZUh4MkdNRllnSHg4L0lDQWlCZzRIQUFBQUFnRDFBS2tEQ3dMWEFBY0FDd0FBQVFjWEJ3a0JIZ0VsRVNNUkF3dnA2UzMrNlFFWEN4ZitOVUFDcWVucExnRVhBUmNNRmd2K0FBSUFBQUFBREFEQUFNQURRQUxBQUFNQUJ3QUxBQThBRXdBWEFCc0FId0FqQUNjQUt3QXZBQUFsSXpVekZ5TTFNeGNqTlRNWEl6VXpKU00xTXhjak5UTVhJelV6RnlNMU15VWpOVE1YSXpVekZ5TTFNeGNqTlRNQkFFQkF3RUJBd0VCQXdFQkEvY0JBUU1CQVFNQkFRTUJBUVAzQVFFREFRRURBUUVEQVFFREFnSUNBZ0lDQWdFQ0FnSUNBZ0lDQVFJQ0FnSUNBZ0lBQUFBZ0FQLy8vQThFRGdRQW5BRkFBVkFCWUFGd0FZQUJrQUdnQUFBRWVBUmNXRlJZVUJ4UUhEZ0VIQmlNR0lpY2lKeTRCSnlZMUpqUTNORGMrQVRjMk16WXlGeklGSWdZSEJnY09BUmNVRng0QkZ4WVhGakkzTmpjK0FUYzJOelkwSnlZbkxnRW5KaU1pQmdjR0l4TWpOVE1GSVRVaEpTTTFNd1VoTlNFbEl6VXpCU0UxSVFNa1Bsd0NBUUVCQVFKY1BrbEpTWkpKU1VrOVhRSUJBUUVCQWx3K1NVbEpra2xKL2dVbE9nRUJBUUVCQVFNQ05TUkpTVXFTU2tsSkpEVUNBd0VCQVFFREFqVWtTVWhKa1VsSVNlQ0FnQUdBL3NBQlFQNkFnSUFCZ1A3QUFVRCtBSUNBQWdEK1FBSEFBNEFDWEQ1SlNVbVNTVWxKUGx3Q0FRRUJBUUpjUGtsSlNaSkpTVWsrWEFJQkFRRkJPQ1pJU1VtU1NVbEpKRFVDQXdFQkFRRURBalVrU1VsS2trcEpTU1ExQWdNQkFRSDk0RUJBUUVCQVFFQkFRRUJBQUFBQUFBUUFRd0RJQTcwQ3VBQWtBRTBBWUFCd0FBQUJGaGNlQVJjV0Z6QUdCd1lIRGdFSEJpY21KeTRCSnlZbk1EWTNOamMrQVRjMk16b0JCeUlHQndZSERnRUhCZ2N3RmhjV0Z4NEJOelkzTmpjK0FUYzJOekFtSnlZbkxnRW5KaU1xQVNNWEhnRVZGQVlIRGdFbkxnRW5ORFkzUGdFekJ3NEJCd1lXRnhZMk56WW1KeTRCSXdJSlFFSkJkUzh3SFVJN0tTOHZZekl5TURzNU9tWXBLUmxGUHlFbEpVNG9LQ2NIQkFvTkdRd3VNQzlWSXlNVkh4OHFORFJ2T0RneEtpZ29TQjBkRWg4ZkhpVWtUeW9wS0FZRUJoSkdpeGdaTUh3MFBHY0NHUndrVWpvVEkwZ1dHeG92UFl3ZUd5QXdGeUFvQXJnQkRBdzVMeTlJZlNrZEVoRVJBUUVEQkJBUE95MHRQb0VxRnc0UEVRUUVRQUVCQXdzTEt5RWhMajhjS0JVVkVRSUNCd1lORFN3ZUhpYy9IUndURWhRRkJCMENSVlFnUFJRbUJnVUZUVUVpUWhZYURFQUJDUmtnWEEwUkJ5VWlYQXNHQWdBQ0FQVUFxUU1MQXRjQURBQVFBQUFKQVNjM0p6Y1dGeDRCRnhZWEV5TVJNd0k1L3VrdDZla3RJeU1pUmlNakk5SkFRQUhBL3VrdTZla3VJeU1qUmlJakkvOEFBZ0FBQUFBQ0FIa0Frd09IQXUwQUN3QVdBQUFCQnlFVklSY0hDUUVlQVJjRkZ6Y25JVFVoTnljT0FRSTBRQUdUL20xQWpmN1NBUzRqUnlQK29OTXlnQUh1L2hLQU1qVnBBbUJBd0VDTkFTMEJMU05ISTZEVE00QkFnRE0xYVFBQUFBZ0FZQUFnQTZBRFlBQURBQWtBRHdBVEFCY0FIUUFqQUNjQUFDVWpFVE1uQnljM0hnRUZCeWMzSGdFM0lUVWhCU0UxSVRjSEp6Y2VBU1VISnpjZUFRVWpFVE1DSUVCQWM4MHR6UXNYQWFzdHpTMHpaNGIvQUFFQS9jRC9BQUVBVFMzTkxUTm5BZFBOTGMwTEYvN2VRRUFnQVFBZ3pTM05DeGVyTGMwdE0yZk5RRUJBWUMzTkxUTm5iYzB0elFzWGl3RUFBQUFDQVBFQXNRTVBBczhBQndBT0FBQVRId0VuTnljSEp5VXZBUmNIRnpmeEE5OUhkRk4xUndJZUE5OUhkRk4xQVpQZkEwZDFVM1JIV3Q4RFIzVlRkQUFBQXdEQUFPQURRQUtnQUFNQUJ3QUxBQUFsSVRVaE5TRTFJVFVoTlNFRFFQMkFBb0Q5Z0FLQS9ZQUNnT0JBZ0VDQVFBQUFBQUlBeXdDS0F6VUM5Z0FIQUE4QUFDVXZBUmNIRnpjWEV4OEJKemNuQnljQjJnVGVSM1JUZFVkTUJONUhkRk4xUjdqZUJFaDFVM1ZIQWhEZUJFaDFVM1ZIQUFBQUFnQ0FBV0FEZ0FJZ0FBVUFEd0FBQVNFMUlSd0JKUlVoTlNJaktnRWpJZ09BL1FBREFQMUFBb0JRVUZDZ1VGQUJZTUF3WUZCQVFBQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQ0FFQUFvQVBBQXVBQUNnQVdBQUFCTng0QkZ3Y25OeGNSTXdFakVRY25OeDRCRndjbkVRRkJrQXdYRE9EZ0w1QkNBY0JDa0MvZ09IQTRMNUFCR0lZTEZndlMwaXlHQWNqOXdBSEloaXpTTkdrMUxJYitPQUFBQmdCMkFFQURpd05MQUJ3QU1nQkJBRk1BWWdCdUFBQUJGaGNlQVJjV0J3WUhEZ0VuSmljbUp5NEJOelkzTmpjK0FUYzJGd2NHQnc0QkJ3WVhGaGNlQVRjMk56WW5MZ0VuSmdjWEZnY09BUWNHSnk0Qkx3RUJIZ0VCRmpjK0FUYzJOelltSndZSERnRUhCZ2NUTWhZZkFRRW1KeVkyTnpZM09nRUhCZ2NPQVFjR0Z3RXVBUWNDQm1KVlZXc09EUzBuVGsyM1hWNUhMeDRlRndnSUhCa25KbDgzTnprS1UwZElXZ29MSnloVFU3bFZWUzBsQ2dsWVNVbGM4eU1JQ0UxQVFVNGNOQmdvQVlNR0MvN1lLQ2txU1J3YkRBZ0JDU0VnSVVFaElDRkRJVUFkS2Y1OUpRVUdNamc0V0FRS0JqQXFLamNLQ2c0QkJoRWlFZ05MQWpVMXBHVmtZRlEzTnlVVkZFTXJPVHArUUVBNk1pb3BPaEFRQVVBQkxTMk1WVlJSVXkwdEJDb3JYRXhWVlk4dkxnSE5RRXBKZXlVbUNBSVJEUllCZ3dvVS9xME1CUVVuSUI4cEhqMGRJQ0VoUVNFZ0lRSFdFUkFXL254QlMweUNMaTBHUUFJWkdVMHdMeTRCQlFVRkFRQUFBQUFEQUlBQU1BT0FBMUFBR2dBbUFEb0FBQUUwSmlNaUJoVXFBU01pQmhVUkZCWXpJVEkyTlJFMEppTXFBUWN5RmhVVUJpTWlKalUwTmdFaElpWTFFVFEyT3dFVklUVXpNaFlWRVJRR0FvQTRTRWc0SUVBZ05VdExOUUlBTlV0TE5TQkFvQklaR1JJU0dSa0JFdjRBR2lZbUdrQUJnRUFhSmlZQzhCaElTQmhMTmY1QU5VdExOUUhBTlVzUkdCRVJHQmdSRVJqOWtTWWFBY0FhSm9DQUpocitRQm9tQUFJQWNBQXdBNUFEVUFBb0FFQUFBQUVuTURZM1BnRVhOeVkzUGdFM05qRVdGeDRCRnhZWERnRUhEZ0VuQng0QkZ4WUdEd0VuQnljM0FRNEJId0VISmdZSEFUNEJOelltSnpjd0ZqY25NQVl4QVZtVkJnOGhjVEJsQ1JBUUxCUVVKU1FsU1NVbEpBVUxCUnBGS21vQkFRSURLQzhZbXVrdDZRRUlFUm9LRUtBd1loTUJJUUlFQWg0SEI1bzZKTm9CQVVlVkp4VXREd2xqSEIwZExnOFBKU1VrU2lVa0pRY09CeU12QjJjSkFSc3pZQmdNbXVvdTZRRzJEaVlQRjU4TUFoNyszd0lEQWhwV0xKb1JLdGtCQUFBS0FELy8vd1BCQTRFQUp3QTdBRWNBWVFCbkFHNEFld0NHQUl3QWtnQUFBUjRCRnhZVkZoUUhGQWNPQVFjR0l3WWlKeUluTGdFbkpqVW1ORGMwTno0Qk56WXpOaklYTWhNaEVSWXpGalkzTmpjK0FUYzJOejRCSnpRbkFSUVdGUjRCRnpJV016VWpBUWNuTng0QkZ3Y25GUTRCQnlNWEJ5YzNIZ0VYQnhZMk56VUZGQllWTXpVbkJoUUhNelVqTnlvQkl5SUdCeFFHRlRNMU15VVZNelFtTlM0Qkp5SW1KUVlpQnhVek55WWlJeFV6QXlRK1hBSUJBUUVCQWx3K1NVbEpra2xKU1QxZEFnRUJBUUVDWEQ1SlNVbVNTVW1vL2JvOVBUMTZQVDA5SkRVQ0FnSUJBUUVDL1B3QkFqVWtDQkFJZkFKQkNTNVhGaXNXTGdrQlhEOTNDaTVXVmd3V0RBdFJnZ0g5dkFGK2ZRRUJmMzIvR0M0WEpUb0JBWHhDQWNkOUFRSTFKQWdRL3ZNaFFTQ0N3eUJCSVlJRGdBSmNQa2xKU1pKSlNVaytYQUlCQVFFQkFsdytTVWxKa2tsSlNUNWNBZ0VCQWY4QS9id0NBUUVCQWdJQ05TUTlQVHg2UFQwOC9qd0pFUWdrTlFJQmZnRVdDaTVXRlN3VkxncHpQMThDQ1M1WFZ3d1dEQW9CSFVWelZDRkFJSUhDSVVBaGd2ODRKaGd3R1VGL2Z3a1JDU1ExQWdFQ0FRRi9nQUdCQUFBQ0FLQUFZQU5nQXlBQURRQWJBQUFCSVJVaEVTTVJJVFVoRVRNY0FTY1JJUlVoRVRNUklUVWhFU29CQW1BQkFQOEF3UDhBQVFEQWdQOEFBUUJBQVFEL0FCQWdBaURBL3dBQkFNQUJBRUNBZ1A4QVFQOEFBUUJBQVFBQUFBRUJYZ0NwQXFJQzF3QUhBQUFCQnhjSENRRWVBUUtpNmVrdC91a0JGd3NYQXFucDZTNEJGd0VYREJZQUFnQUEvOEFFQUFQQUFCc0FOd0FBQVNJSERnRUhCaFVVRng0QkZ4WXpNamMrQVRjMk5UUW5MZ0VuSmdjeUZ4NEJGeFlWRkFjT0FRY0dJeUluTGdFbkpqVTBOejRCTnpZQ0FHcGRYWXNwS0NncGkxMWRhbXBkWFlzcEtDZ3BpMTFkYWwxUlVub2pJeU1qZWxKUlhWMVJVbm9qSXlNamVsSlJBOEFvS1l0ZFhXcHFYVjJMS1Nnb0tZdGRYV3BxWFYyTEtTaEFJeU42VWxGZFhWRlNlaU1qSXlONlVsRmRYVkZTZWlNakFBTUFBUC9BQkFBRHdBQWJBRGNBVXdBQUFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WUJGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOell6TWhjZUFSY1dBZ0JxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2dvS1l0ZFhXcGRVVko2SXlNakkzcFNVVjFkVVZKNkl5TWpJM3BTVVFHZEdSbFhPanRDUWpzNlZ4a1pHUmxYT2p0Q1FqczZWeGtaQThBb0tZdGRYV3BxWFYyTEtTZ29LWXRkWFdwcVhWMkxLU2hBSXlONlVsRmRYVkZTZWlNakl5TjZVbEZkWFZGU2VpTWova0JDT3pwWEdSa1pHVmM2TzBKQ096cFhHUmtaR1ZjNk93QUFBQUFDQUhrQWt3T0hBdTBBRGdBWkFBQUpBU2MzSVRVaEp6Y1dGeDRCRnhZbEZ5RVZJUWNYTnljT0FRT0gvdEtOUVA1dEFaTkFqU1ltSlV3bEp2N0dnUDRTQWU2QU10UFREQm9Cd1A3VGpVREFRSTBsSmlaTEppVjZnRUNBTTlQVERSa0FBQUFBQWdDQUFFQURnQU5BQUE0QUdBQUFBUkVoRVNNUkZCWXpJVEkyTlJFakJUY1hCeWMzRnhFekVRTXIvYXBWTWlNQ1ZpTXlWZjhBYmp6VjFUeHVWZ0hBL3RVQksvN1ZJekl5SXdFckhXNDgxZFU4YmdHZC9tTUFBQUVBNlFFZUF4Y0NZZ0FIQUFBSkFqY1hOeDRCQXhmKzZmN3BMdW5wREJZQ05mN3BBUmN0NmVrTEZ3QUFBUUZlQUtrQ29nTFhBQWNBQUFFSEZ3Y0pBUjRCQXFMcDZTMys2UUVYQ3hjQ3FlbnBMZ0VYQVJjTUZnQUJBVjRBcVFLaUF0Y0FEQUFBQ1FFbk55YzNGaGNlQVJjV0Z3S2kvdWt0NmVrdEl5TWpSU01qSXdIQS91a3U2ZWt1SXlNalJpSWpJd0FBQUFBQkFPa0JIZ01YQW1JQUN3QUFBUWNuQnljQkZoY2VBUmNXQXhjdTZla3VBUmNqSXlKR0l5TUJTeTNwNlMwQkZ5TWpJMFVqSXdBQUFBRUE2UUR1QXhjQ2tnQUhBQUFKQVNjM0Z3RWVBUU1YL29tM0xva0JTUXdXQW1YK2liY3RpUUZKQ3hjQUFRRmVBS2tDb2dMWEFBd0FBQWtCSnpjbk54WVhIZ0VYRmhjQ292N3BMZW5wTFNNakkwVWpJeU1Cd1A3cEx1bnBMaU1qSTBZaUl5TUFBQUFBQVFEQUFhQURRQUhnQUFNQUFCTWhGU0hBQW9EOWdBSGdRQUFBQUFFQTZRRWVBeGNDWWdBSEFBQUpBamNYTng0QkF4Zis2ZjdwTHVucERCWUNOZjdwQVJjdDZla0xGd0FBQVFBQUFBRUFBTnlZOTlOZkR6ejFBQXNFQUFBQUFBRFpDZS9GQUFBQUFOa0o3OFVBQVAvQUJBQUR3QUFBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTndRQUFBQUFBQUFBQUFBQUFBSUFBQUFFQUFBL0JBQUFVd1FBQVNrRUFBQ0FCQUFBMVFRQUFBQUVBQUFBQkFBQUFBUUFBTUFFQUFEQUJBQUJYZ1FBQUtBRUFBRXBCQUFBUUFRQUFJWUVBQUVwQkFBQlhnUUFBRU1FQUFCREJBQUF3QVFBQVBVRUFBREFCQUFBUHdRQUFFTUVBQUQxQkFBQWVRUUFBR0FFQUFEeEJBQUF3QVFBQU1zRUFBQ0FCQUFCWGdRQUFFQUVBQUIyQkFBQWdBUUFBSEFFQUFBL0JBQUFvQVFBQVY0RUFBQUFCQUFBQUFRQUFIa0VBQUNBQkFBQTZRUUFBVjRFQUFGZUJBQUE2UVFBQU9rRUFBRmVCQUFBd0FRQUFPa0FBQUFBQUFvQUZBQWVBTVFCQ0FFZ0FZNEJxZ0h1QWlvQ1hnSjhBcDRDdEFNQUF5QURtQVAwQkF3RUtnVHFCWlFGOEFZT0JsZ0crZ2VrQjhnSDlnaEFDR0FJZWdpY0NMZ0kxZ2tDQ2JvS0RBcDBDMHdMZWd1UUMrWU1aZ3lZRE1RTTJnendEUTROS2cxQURWNE5iQTJDQUFFQUFBQTNBSk1BREFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQUs0QUFRQUFBQUFBQVFBTUFBQUFBUUFBQUFBQUFnQUhBSTBBQVFBQUFBQUFBd0FNQUVVQUFRQUFBQUFBQkFBTUFLSUFBUUFBQUFBQUJRQUxBQ1FBQVFBQUFBQUFCZ0FNQUdrQUFRQUFBQUFBQ2dBYUFNWUFBd0FCQkFrQUFRQVlBQXdBQXdBQkJBa0FBZ0FPQUpRQUF3QUJCQWtBQXdBWUFGRUFBd0FCQkFrQUJBQVlBSzRBQXdBQkJBa0FCUUFXQUM4QUF3QUJCQWtBQmdBWUFIVUFBd0FCQkFrQUNnQTBBT0JoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQmhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMWhaMGR5YVdSQ1lXeG9ZVzBBWVFCbkFFY0FjZ0JwQUdRQVFnQmhBR3dBYUFCaEFHMVNaV2QxYkdGeUFGSUFaUUJuQUhVQWJBQmhBSEpoWjBkeWFXUkNZV3hvWVcwQVlRQm5BRWNBY2dCcEFHUUFRZ0JoQUd3QWFBQmhBRzFHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtYmFsaGFtIHtcXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBjb2xvcjogIzAwMDtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTJweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51LCAuYWctdGhlbWUtYmFsaGFtIC5hZy10aGVtZS1iYWxoYW0uYWctZG5kLWdob3N0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTFFQTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xcbiAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtICo6Zm9jdXMsIC5hZy10aGVtZS1iYWxoYW0gKiAqOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM5MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ3NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogODEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODk2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg5NnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk1MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDM2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogODAwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogODIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE0OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogODgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIzMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkwMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEzMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEzNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTgwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTM3MnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzcycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogIzQzYTA0NzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSk7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOTVBNUE2OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTQ5LCAxNjUsIDE2NiwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5NUE1QTY7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDksIDE2NSwgMTY2LCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI0JEQzNDNztcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3cuYWctcm93LWxhc3Qge1xcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LW9kZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZkZmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0YwRjE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApIHtcXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIGN1cnNvcjogY29sLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjtcXG4gICAgbWluLXdpZHRoOiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5MUVBO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjBGMTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1kaXNhYmxlZCB7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1zaG9ydGN1dCB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNCREMzQzcnJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDI0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmNztcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGhlaWdodDogMzJweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XFxuICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24gYnV0dG9uIHtcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZTRmZjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3Age1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCB7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMik7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODgsIDI1NSwgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNik7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICMwMDkxRUE7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzg2OTE5ODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM4NjkxOTg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0IHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjODY5MTk4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogbndzZS1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDQwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3Zjc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgICAgd2lkdGg6IDIwMHB4O1xcbiAgICAgIGhlaWdodDogMTgycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGhlaWdodDogMjhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMEYxOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAyOHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgb3BhY2l0eTogMC4zODsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGU0ZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudS1jb2x1bW4tc2VsZWN0LXdyYXBwZXIge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMTYwLCAxMzMsIDAuNSkgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdHViLWNlbGwge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFxcXCJTZWdvZSBVSVxcXCIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW5hbWUtdmFsdWUge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogIzAwMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6ICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1zaWRlLWJhciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgxODksIDE5NSwgMTk5LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEwcHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkRDM0M3OyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogMzJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcXFwiU2Vnb2UgVUlcXFwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZTBlMjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2Y3O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmQwZDM7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2NiZDBkMztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTFFQTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMDAwO1xcbiAgICBmb250LXNpemU6IDEwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMwMDkxRUE7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZEJhbGhhbVxcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDE2cHg7XFxuICAgIGNvbG9yOiAjN0Y4QzhEO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjM4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQge1xcbiAgICBjb2xvcjogIzAwOTFFQTsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiAjMDA5MUVBOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1yaWdodDpiZWZvcmUsIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXNtYWxsLWRvd246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC1sZWZ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi1zbWFsbC11cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRpY2s6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtaW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1pY29uLXRyZWUtb3BlbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwgLmFnLXBpdm90LW1vZGUtc2VsZWN0IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkLFxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCREMzQzc7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMzJweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjhweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiOThweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjIwcHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI4cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjE2cHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDkxRUEgIWltcG9ydGFudDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgIGhlaWdodDogODAlO1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWhlYWRlci1ncm91cC1jZWxsOjphZnRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTg5LCAxOTUsIDE5OSwgMC41KTtcXG4gICAgY29udGVudDogXFxcIiBcXFwiO1xcbiAgICBoZWlnaHQ6IDE2cHg7XFxuICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0ZXh0LWluZGVudDogLTIwMDBweDtcXG4gICAgdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1sdHIgLmFnLWhlYWRlci1jZWxsOjphZnRlcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWx0ciAuYWctaGVhZGVyLWdyb3VwLWNlbGw6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaGVhZGVyLWNlbGw6OmFmdGVyLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbHRyIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wLmFnLXdpZHRoLWhhbGY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcC5hZy13aWR0aC1oYWxmOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJvdyB7XFxuICAgIGJvcmRlci1jb2xvcjogI2Q5ZGNkZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYjdlNGZmOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWluLWhlaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmNztcXG4gICAgaGVpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcm9vdCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgICBtaW4taGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3Age1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcnRsIC5hZy1zaWRlLWJhcixcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkRDM0M3O1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1leHBhbmRlZCxcXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXJ0bCAuYWctaWNvbi1jb250cmFjdGVkIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAyOHB4OyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4ge1xcbiAgICBoZWlnaHQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1oZWFkZXIge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgICAuYWctdGhlbWUtYmFsaGFtIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJhbGhhbSAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLXRhYi1ib2R5LFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcG9wdXAtZWRpdG9yLFxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBjb2xvcjogIzAwMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjhweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZGV0YWlscy1yb3cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JEQzNDNztcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIHBhZGRpbmc6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE0NSwgMjM0LCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmFsaGFtIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTM6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTQ1LCAyMzQsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDUsIDIzNCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JEQzNDNzsgfVxcbiAgLmFnLXRoZW1lLWJhbGhhbSAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCREMzQzc7IH1cXG4gIC5hZy10aGVtZS1iYWxoYW0gLmFnLWZpbHRlci10b29scGFuZWwtYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWJsdWUge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiAjMjIyMjIyO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUsIC5hZy10aGVtZS1ibHVlIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y2ZjZmNiAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGxhYmVsIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlICo6Zm9jdXMsIC5hZy10aGVtZS1ibHVlICogKjpiZWZvcmUsIC5hZy10aGVtZS1ibHVlICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJsdWUgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ibHVlIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRvdHRlZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtZG93biB7XFxuICAgIGNvbG9yOiBkYXJrcmVkOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSksXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjUpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItcm93IHtcXG4gICAgYm9yZGVyOiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjOWJjMmU2O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlYmY3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICM5YmMyZTY7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1yb3c6Zmlyc3QtY2hpbGQgLmFnLWhlYWRlci1jZWxsLCAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xcbiAgICAgIHdpZHRoOiAxMDAlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWljb24ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtc2VwYXJhdG9yID4gc3BhbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCcxJyUyMGhlaWdodCUzRCc4cHgnJTIwdmlld0JveCUzRCcwJTIwMCUyMDElMjA4cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzRweCclMjB4MiUzRCcxJyUyMHkyJTNEJzRweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzOUJDMkU2JyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1ibHVlLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZS5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24gKyBidXR0b24ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogIzIyMjIyMjtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XFxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XFxuICAgICAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMCAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24ge1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIHNwYW4ge1xcbiAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3YzdjNzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS10b3AsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEzNSwgMTYwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTYwLCAxMDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0zOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC10b3Age1xcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgIzMzMzsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM0OTkwZDI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzQ5OTBkMjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjNDk5MGQyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUsIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIHBhZGRpbmc6IDEycHg7XFxuICAgIGhlaWdodDogMzdweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1ibHVlIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgcGFkZGluZzogMCA0cHggMCAxMnB4O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXJvdyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIGJ1dHRvbiB7XFxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2lkdGg6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctbGVmdC1hcnJvdyxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjZGRlYmY3O1xcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xcbiAgICBtaW4taGVpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nOiAwIDJweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYyAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0dWItY2VsbCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy10b3Age1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcXG4gICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1kZXRhaWxzLXJvdyB7XFxuICAgIHBhZGRpbmc6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyAuYWctc2lkZS1idXR0b24gYnV0dG9uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgY29sb3I6ICMyMjIyMjI7XFxuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMDtcXG4gICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgbWluLWhlaWdodDogNzJweDtcXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDA7XFxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTU1LCAxOTQsIDIzMCwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZS5hZy1wb3B1cCA+IGRpdiB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nLCAuYWctZHJhZ2dpbmctZmlsbC1oYW5kbGUgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTljZDM7XFxuICAgICAgY29sb3I6IHdoaXRlO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24ge1xcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgd2lkdGg6IDIwcHg7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uLmFnLWhhcy1wb3B1cCB7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzgzYzc7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU5Y2QzO1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIGJ1dHRvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiAjMjIyMjIyO1xcbiAgICBmb250LXNpemU6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0uYWctc2VsZWN0ZWQge1xcbiAgICAgIGNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICAgIHNwZWFrOiBub25lO1xcbiAgICBmb250LXNpemU6IDEycHg7XFxuICAgIGNvbG9yOiAjMzMzO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tYXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjMzMzOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1ibHVlIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYmx1ZSAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ibHVlIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYmx1ZSAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuc2Fzcy12YXJpYWJsZXM6OmFmdGVyIHtcXG4gICAgY29udGVudDogJ3sgXFxcImF1dG9TaXplUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcImhlYWRlckhlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyb3VwUGFkZGluZ1NpemVcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJmb290ZXJQYWRkaW5nQWRkaXRpb25cXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJ2aXJ0dWFsSXRlbUhlaWdodFxcXCI6IFxcXCIyMHB4XFxcIiwgXFxcImFnZ0Z1bmNQb3B1cEhlaWdodFxcXCI6IFxcXCI3MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMTZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI0cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMTJweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlOWNkMzsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5YmMyZTY7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzliYzJlNjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbiB7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNkZGViZjc7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YmMyZTY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIG1pbi1oZWlnaHQ6IDE4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbjpob3ZlciB7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzliYzJlNjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWJjMmU2OyB9XFxuICAuYWctdGhlbWUtYmx1ZSAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZWJlYmU7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJsdWUgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWJjMmU2O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1jb2x1bW4tbmFtZS1maWx0ZXIge1xcbiAgICBoZWlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1ibHVlIGlucHV0LFxcbiAgLmFnLXRoZW1lLWJsdWUgc2VsZWN0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgY29sb3I6ICMyMjIyMjI7IH1cXG4gIC5hZy10aGVtZS1ibHVlIC5hZy1yb3cge1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1ib290c3RyYXAge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGNvbG9yOiBibGFjaztcXG4gIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ib2R5LXZpZXdwb3J0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBwYWRkaW5nOiA0cHggOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIuYWctdGFiLXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNmY2ZjYgIWltcG9ydGFudDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgKjpmb2N1cywgLmFnLXRoZW1lLWJvb3RzdHJhcCAqICo6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjY0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjAwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDgwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDk2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODE2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogODQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTkycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogODg4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ODhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDMycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDU2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzY4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3ODRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbCAuYWctaWNvbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYWRpby1idXR0b24tbGFiZWw6ZW1wdHksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoZWNrYm94LWxhYmVsOmVtcHR5IHtcXG4gICAgICBtYXJnaW46IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS11cCB7XFxuICAgIGNvbG9yOiBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXZhbHVlLWNoYW5nZS12YWx1ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWM7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl0ge1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBpbm5lZC1yaWdodC1oZWFkZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93IHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctb2RkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIuYWctc2Nyb2xsZXItY29ybmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctaG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctaGVhZGVyLWdyb3VwLWNlbGwtbm8tZ3JvdXApLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsIHtcXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctbGVmdDogMTFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMTFweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yb3ctZHJhZ2dpbmcgLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICB3aWR0aDogMjBweDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgZGl2IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2OmZpcnN0LWNoaWxkID4gc3BhbiB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLXNlbGVjdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWZpbHRlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtIHtcXG4gICAgaGVpZ2h0OiAyMHB4O1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyOm50aC1jaGlsZCgyKSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiArIGJ1dHRvbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4OyB9XFxuICAgICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1haXIge1xcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDRweCAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcXG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWxpc3Qge1xcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1udW1lcmljLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgc3BhbiB7XFxuICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZGUyZTU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTE6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0yOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMCk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbS5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwKTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMTJweDtcXG4gICAgaGVpZ2h0OiAzN3B4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBwYWRkaW5nOiAwIDRweCAwIDEycHg7XFxuICAgIGhlaWdodDogMjVweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJvcC1jZWxsLWJ1dHRvbiB7XFxuICAgICAgbWluLXdpZHRoOiAxNnB4O1xcbiAgICAgIG1hcmdpbjogMCAycHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvdy1zdHViIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy1pY29uIHtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxcblxcbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG5cXG5Aa2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctYm90dG9tIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1mbG9hdGluZy10b3AsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmxvYXRpbmctdG9wIC5hZy1yb3csIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWJvdHRvbSAuYWctcm93IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRldGFpbHMtcm93IHtcXG4gICAgcGFkZGluZzogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcHJpbWFyeS1jb2xzLWZpbHRlci13cmFwcGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ncm91cC1jb21wb25lbnQgLmFnLWdyb3VwLWNvbXBvbmVudC1sYWJlbCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nOiAwIDJweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgY29sb3I6ICMzMzMzMzM7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcXG4gICAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOmhvdmVyLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciB7XFxuICAgICAgaGVpZ2h0OiAzMHB4O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIHBhZGRpbmc6IDJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydCAuYWctY2hhcnQtbWVudSA+IHNwYW46aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbWluaS13cmFwcGVyID4gZGl2IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1hZ2dyZWdhdGlvbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDBcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFycm93czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDFcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNhbmNlbDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoYXJ0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHkge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcXEU5MDVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWNvbHVtbnM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jb3B5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1kYXRhOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllLXNsYXNoOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tZmlyc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWdyb3VwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sZWZ0OmJlZm9yZSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWF4aW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1taW51czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tbm90LWFsbG93ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXBpdm90OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjdcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbjpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNhdmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1pY29uLXNtYWxsLXJpZ2h0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRFxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWljb24tdHJlZS1jbG9zZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY2hlY2tib3gtbGFiZWwge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNldC1maWx0ZXItaXRlbSA+IGRpdiwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICBtaW4taGVpZ2h0OiAxOHB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBkYXJrZ3JlZW47IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lciB7XFxuICAgIGhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbml0aWFsO1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1vdmVybGF5LWxvYWRpbmctd3JhcHBlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbiAgICBjb2xvcjogYmxhY2s7XFxuICAgIHBhZGRpbmc6IDEwcHg7IH1cXG4gIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctbWVudSwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctdGhlbWUtYm9vdHN0cmFwLmFnLWRuZC1naG9zdCwgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWJvb3RzdHJhcCAuYWctcG9wdXAtZWRpdG9yLCAuYWctdGhlbWUtYm9vdHN0cmFwIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAsIC5hZy10aGVtZS1ib290c3RyYXAgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XFxuXFxuXCIiLCJtb2R1bGUuZXhwb3J0cyA9IFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkQ2xhc3NpY1xcXCI7XFxuICBzcmM6IHVybChcXFwiZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWc4U0JsSUFBQUM4QUFBQVlHTnRZWEFYVnRLNUFBQUJIQUFBQUZSbllYTndBQUFBRUFBQUFYQUFBQUFJWjJ4NVpuYjkwdTRBQUFGNEFBQVVxR2hsWVdRVk15UGRBQUFXSUFBQUFEWm9hR1ZoQjhJRCtBQUFGbGdBQUFBa2FHMTBlTklBRitZQUFCWjhBQUFBM0d4dlkyR1NJcGNrQUFBWFdBQUFBSEJ0WVhod0FFUUFXd0FBRjhnQUFBQWdibUZ0WlNqRzlVc0FBQmZvQUFBQnpuQnZjM1FBQXdBQUFBQVp1QUFBQUNBQUF3UDJBWkFBQlFBQUFwa0N6QUFBQUk4Q21RTE1BQUFCNndBekFRa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHBNZ1BBLzhBQVFBUEFBRUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQURBQUFBSEFBREFBRUFBQUFjQUFRQU9BQUFBQW9BQ0FBQ0FBSUFBUUFnNlRMLy9mLy9BQUFBQUFBZzZRRC8vZi8vQUFILzR4Y0VBQU1BQVFBQUFBQUFBQUFBQUFBQUFRQUIvLzhBRHdBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBRUFBQUFBQUFBQUFBQUNBQUEzT1FFQUFBQUFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUxZQVFBTktBMEFBREFBQUFTRVhCeUVWSVJNRElSd0JGUU5LL3BONWVRRnQvV3pjM0FLVUFwWFYxYXNCZ0FHQUsxVXJBQUFBQUFFQUFQL0FCQUFEd0FBZ0FBQUJOUWNuTnhjSEp4RWhKemNYQnljM0lSRTNGd2NuTnhjUklSY0hKemNYQnlFQnpWSkl6YzFJVWdFSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKQXZNSlVVak56VWhSL3ZkU1NNM05TRkwrOTFGSXpjMUlVUUVKVWtqTnpVaFNBQUFBQVFDV0FCNERhZ05pQUE4QUFBRUhKd0VXRng0QkZ4WVhCeWNSSXhFQnJyRm5BV290TGkxYUxpMHRaN0NsQWtLeFp3RnFMaTB0V3kwdExXZXcvZDBDSkFBQUFBQUJBUUFBd0FNQUFzQUFDd0FBQVFjbkJ5YzNKemNYTnhjSEF3Qkl1TGhJdUxoSXVMaEl1QUVJU0xpNFNMaTRTTGk0U0xnQUJRQUIvNzREL3dQQkFBOEFId0FrQUNnQUxRQUFCU0VpSmpVUk5EWXpJVElXRlJFVUJnTWhJZ1lWRVJRV015RXlOalVSTkNZQk14RWpFUVV6RlNNRE14RWpFUU4vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajltbFZWQVZWVlZhdFdWa0pMTlFNRE5VdExOZno5TlVzRHJCZ1IvUDhSR1JrUkF3RVJHUDZyL3RZQktvQ3FBYXIrVmdHcUFBQUFBQU1BQWYrK0EvOER3UUFJQUJrQUtRQUFDUUVuTnhjVEhnRVhFeklXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF5WCs2UDAxcnVnU0poSmFOVXRMTmYwQ05VdExOUUwrQWZ6K0VSZ1lFUU1DRVJnWUFxejkvc3BEaXdHb0NoUUtBUlZMTmZ6OU5VdExOUU1ETlV0WEdCSDgveEVaR1JFREFSRVlBQUFEQUFIL3ZnUC9BOEVBQXdBVUFDUUFBQUVoRlNFQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lCVlFGVy9xb0NLalZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBSVZxZ0pXU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFBQ0FBSC92Z1AvQThFQUVBQWdBQUFCTWhZVkVSUUdJeUVpSmpVUk5EWXpJUmNoSWdZVkVSUVdNeUV5TmpVUk5DWURmelZMU3pYOUFqVkxTelVDL2dIOC9oRVlHQkVEQWhFWUdBUEJTelg4L1RWTFN6VURBelZMVnhnUi9QOFJHUmtSQXdFUkdBQUFBQUlBVlFBVkFhc0Rhd0FFQUFnQUFBRVJJUkVoRVJVaE5RR3IvcW9CVnY2cUFtdjlxZ0pXQVFDcnF3QUFCZ0JWQUJVRHF3TnJBQU1BQ0FBTUFCRUFGUUFhQUFBbEZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQkZTRTFJUlVoTlNFQnEvNnFBMWIrcWdGVy9nRCtxZ05XL3FvQlZ2NEEvcW9EVnY2cUFWYkFxNnVycXdGVnFxcXFxZ0ZXcTZ1cnF3QUFBQU1BQWYrK0EvOER3UUFRQUNBQUpBQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUF4VWhOUU4vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lrZjRBQThGTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZL3F1cXFnQUFBd0NyQUdzRFZRTVZBQWNBQ3dBUkFBQUJNeEVoTlNNUklSTWhFU0VETlNFUk14RUNxNnIrQUtvQ0FGWCtxd0ZWcS82clZRSnIvZ0NxQWdEL0FQNnJBYXRWL3FzQkFBQUFBUUJ1QUM0RGtnTlNBQTRBQUFrQkhnRVhDUUVIQ1FFbkNRRTNBUUlBQVJrZVBSNys1d0VaZWY3bi91ZDVBUm4rNTNrQkdRSTVBUmtlUFI3KzUvN25lUUVaL3VkNUFSa0JHWG4rNXdBQUFBQURBSGdBMVFPZkF1RUFPQUJHQUZnQUFBRTJOejRCTnpZWEhnRWZBUVlIRGdFSEJnY1dGeDRCRnhZWERnRW5MZ0VuRGdFSEJpY3VBU2NtTno0Qk55NEJOejRCRng0QkZ4NEJGd2NHQnc0QkJ3WTNQZ0UzTURZSEp5SUdCdzRCQndZWEhnRVhGaGMzTGdFakFob21KU1pHSUNFZEVCd05OeUFnSUVBaElDQWdJU0JBSUNBZ05tMUpJa29oTzN4Q0h5VW1PdzhQRGcxREtFQk1HQkE5TVQxc05oQWhFSnNuS3lzMkFRSXRJMFFrQXdXT0JBa0ZBd1VERncwTVBpY25IZ0VsVGgwQ09TRWVIeThPRGdFQkNRY2hHeHNiTnh3Ykd4b1pHalFhR2hvaERqWVpOeGtzVEIwT0FnSWlIaDRxS3prVEluQTBJeU1CQkU0bURCZ01rQUVWRlRFVEV3SUJOQmcwQWVNQ0FRRURBUThVRlNVT0RRRXpHalFBQUFjQU1nQW5BODREV1FBTEFBOEFIQUFnQUMwQU1RQStBQUEzSWdZVkZCWXpNalkxTkNZcEFSVWhBU0lHRlJRV016STJOVFFtSXlFVklUVUhNaFlWRkFZaklpWTFORFl6QVJVaE5TTXlGaFVVQmlNaUpqVTBOak9kTFQ0K0xTdytQZ01GL1ZVQ3EvelBMVDQrTFN3K1Bpd0RNZjFWaGg0c0xCNGZMQ3dmQXpIOVZZWXNQajRzTFQ0K0xmdytMQzArUGkwc1B0VUNCRDhzTEQ4L0xDdy8xdFlnTEI4ZkxDd2ZIeXdCVHRYVlBpMHNQajRzTFQ0QUFBQUJBSllBSXdOcUExMEFDd0FBQVJFNkFUTVJOeGNKQVRjWEFhOHBVaW13Wi82Vy9wWm5zZ0ZEQWhyOTU3Qm4vcFlCYW1leEFBQUFBQU1BQWYrK0EvOER3UUFRQUNBQUxRQUFBVElXRlJFVUJpTWhJaVkxRVRRMk15RVhJU0lHRlJFVUZqTWhNalkxRVRRbUFUVXpGVE1WSXhVak5TTTFNd04vTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1kvaHFxcTZ1cXE2c0R3VXMxL1AwMVMwczFBd00xUzFjWUVmei9FUmtaRVFNQkVSaitxNnVycXF1cnFnQUFBQUFEQUNJQWRnUGVBd29BSWdCSEFGRUFBQUUzRno0Qk14WVhIZ0VYRmhjT0FRY1hCeWMzQVQ0Qk56WXlNeVkwTlNNaUJnY25CeE1tSnk0Qkp5WW5EZ0VIRmhjZUFSY1dOeGNHQndZbUp5WW5KaWN1QVNjbUp6NEJOd0UrQVRjd0ppY09BUWNCS0RVbklFSWpTRUpDZHpRekt5cHZRRGRESVE3K3pCNC9IZ29VQ3dFTE5Xc3lVRExyS2lVbE9oUVVCeU0rR2lZeE1uTS9QejgwTGk4dlh5OHZMaUllSHpZWkdCY3JhajhCNHk1TUlEODVDejRzQXVFcE1na0tBaGNYVURZMlB6NXJKMFUxS1F3Qmh3Y0ZBUUVWS3hVS0VHWksvdFlGRVJJM0pDUXBHajhrTkNrcU9Bd01DRUVPQlFVSkVBOGJGUm9aT3lBZ0lqOXZLZjZRSFVzclVDMDFWaHNBQUFBREFDSUFtUVBlQXVnQUhBQTdBRWtBQUFFV0Z4NEJGeFlYQmdjT0FTY21KeVluTGdFbkppYzJOejRCTnpZWEJRNEJCeFlYSGdFM05qYytBVGN3SmljR0J3NEJCd1lqSWljdUFTY21KeVVtTkRVakRnRUhGejRCTnpvQkFnbElRa0ozTkRNck8xVlZ4V2xwWXlJZUh6WVpHQmNxTlRSN1JrVk8vdnNqUGhvd1JFU2NVbE5OTVZFaVB6a0pGeGRES1NvdUx5b3JRaGNYQ0FGU0FRdEVoendsTG1ZeENoUUM2QUlYRjA4Mk5rQlhSVVZJQlFROEZCb2FPaUVnSVQ4M04xRVhGd0d1R1VBa1FqRXlNUVlGTFJ4UExsQXNMQ1VsTnc4UUVCQTVKaWNzQXhZckZRRVJIVTBXRGdJQUFBSUFWUUJBQTZzRFFBQUdBQXNBQUJNaEFSRW5FUUVCRlRNMUkxVURWdjZxcXY2cUFWYXFxZ05BL3F2K1Zhc0JBQUZWL3F0V1ZnQUFBZ0R5QU1BRERnTEFBQU1BQ1FBQUFSRWpFUUVuTnljSkFRRkhWUUljeDhjNS93QUJBQUxBL2dBQ0FQNDV4OGM1L3dEL0FBQUFBQUFNQUt2LzZ3TlZBNVVBQXdBSUFBd0FFQUFWQUJrQUhRQWlBQ1lBS2dBdkFETUFBRGN6RlNNbE14VWpOU0V6RlNNQk14VWpKVE1WSXpVaE14VWpBVE1WSXlVekZTTTFJVE1WSXdFekZTTWxNeFVqTlFVak5UT3JxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFhcXFxcFdxcXFxcXFnR3FxcXFxcXFvQnFxcXFxcXFxQWFxcXFxcXFxcW9BQUFVQVZmL3JBNnNEbFFBZUFDSUFKd0FyQUM4QUFBRXpOU0VSSVRVakZTTVZJVFVoRVNFMUlSRWhOU0VSSVRVaEVTTVJJUlVCSXhVekVTTVZNelVSSXhVekpTTVZNd0dycWdGVy9xcXFxd0ZWQVZiK3F2NnJBVlVCVnY2cS9sWldBVllCcXFxcXFxcXFxdjRBcXFvRFFGWC9BRlpXcWxYL0FGWC9BRmIvQUZVQ1ZRRUFWZjFWVlFHclZsWUJWVlZWVlFBQUFBQURBQmtCRVFQbkFwTUFGZ0FzQURzQUFBRVdGeDRCRnhZZkFRWUhEZ0VuSmk4Qk5qYytBVGMyQlE0Qkl5SW1KdzRCRHdFV0Z4NEJOelkvQVM0Qkp3Y21ORFVqRGdFSEZ6NEJOell5TXdJSVBqdzhjak0wTENSZWVubi9mSHRqSkRFNk9YNUVRd0V0SElGU1VvRWNJVDBjQTBwZVhzVmZYMHdESEQ4aW1RRUxSSWM4SlM1bU1Rb1VDd0tUQVF3TUxTRWdLeVJkTlRVUEtpbGZKREluS0RjUEQ0aEhYRnhIRGlZWEF6OGdJUUVnSDBBQ0dDZ09JeFVyRlFFUUhrd1dEUUlCQUFBQUFnRHlBTUFERGdMQUFBTUFDZ0FBSlNNUk13RTNKemNKQVNjRERsVlYvZVRIeHprQkFQOEFPY0FDQVA0NXg4YzUvd0QvQURrQUFBQUJBRXNBVmdPMUF5b0FDd0FBQVJjSENRRWVBUmNISVJVaEFXK3RaLzZXQVdvWk5CcXZBa2o5dWdGcXJXY0JhZ0ZxR2pNYXJxc0FBQUlBVlFBVkE2c0Rhd0FiQUNVQUFBRTNGd2N6RlNNZUFSY0hKeFVqTlFjbk55TTFNeWMzSGdFWE5UTURNemMxSnlNSEZSNEJBbFdjZVp6ZDNTZE9KM21jcXB4NW5OM2RuSGtuVGllcW5JNWtaSTVrR1RJQ2pweDVuS29uVGlkNW5OM2RuSG1jcXB4NUowNG4zZjJxWkk1a1pJNFpNZ0FBQUFRQUFmKytBLzhEd1FBUEFCOEFKd0F1QUFBRklTSW1OUkUwTmpNaE1oWVZFUlFHQXlFaUJoVVJGQll6SVRJMk5SRTBKZ0VITnhjM0Z3Y1hBVGNIRndjWE53Ti8vUUkxUzBzMUF2NDFTMHMwL1A0UkdCZ1JBd0lSR0JqOTRPTklNcDg1bnpBQnQwcmxNYUE1b0VKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1AwdFNlUXhuem1mTVFHMzVVa3lvRG1nQUFBQUFBTUFWUUFWQTZzRGF3QURBQWNBQ3dBQUpSVWhOUUVWSVRVQkZTRTFBNnY4cWdOVy9Lb0RWdnlxd0t1ckFWV3FxZ0ZXcTZzQUFBQUFCQUFCLzc0RC93UEJBQThBSHdBbkFDNEFBQVVoSWlZMUVUUTJNeUV5RmhVUkZBWURJU0lHRlJFVUZqTWhNalkxRVRRbUFUY0hKd2NuTnljQkJ6Y25OeWNIQTMvOUFqVkxTelVDL2pWTFN6VDgvaEVZR0JFREFoRVlHUDFzNUVreW56bWZNQUZzU2VReG56bWZRa3MxQXdNMVMwczEvUDAxU3dPc0dCSDgveEVaR1JFREFSRVkvZTVKNURHZ09hQXhBV3prU1RHZ09hQUFBQUFBQVFDckFXc0RWUUlWQUFRQUFCTWhGU0UxcXdLcS9WWUNGYXFxQUFFQlpBREFBcHdDd0FBR0FBQWxOeWMzQ1FFbkFXVEh4emdCQVA4QU9Qbkh4em4vQVA4QU9RQUJBTkwvMWdNdUE2b0FGQUFBQVFjbkFSWVhIZ0VYRmhjSEp4RTNGd2tCTnhjUkFhVnNad0V1SmlVbVRDVW1KbWRzYkdmKzB2N1NaMndDZ1d4bkFTNG1KU1pNSlNZbVoyeitmbXhuL3RJQkxtZHNBWUlBQUFBQUF3QUIvNzhFQUFQQ0FCc0FLZ0E1QUFBQk1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkJRRWVBVE15Tno0Qk56WTFOQ1luSnk0Qkl5SUhEZ0VIQmhVVUZoY0JBZ0JxWFYyTEtDa3BLSXRkWFdwcVhWMkxLQ2dvS0l0ZFhRRzcvYWsyaGtwWVRrNTBJU0l3S2tvM2hrcFlUazV6SWlFdkt3SlhBOElvS1l0ZVhXcHJYVjJNS0NrcEtJeGRYV3RxWFY2TEtTajcvYWtxTUNJaGRFNU5XVXFGTjBvcU1DRWlkRTFPV0V1R05nSlhBQUlBcXdCQUExVURRQUFOQUNBQUFBRWhGQlVjQVJVVUZTRVJJVFV6RnlNd01qRVZJVFV6TUNNcUFTTWlNUkVoRVFKVkFRRDlWZ0VBcXF1clZ2NnFWaHNiUUJvYkFnQUM2MVpWVmF0VlZsVUNxMVdycXFyK0FBSUFBQUFBQVFDckFCVURWUU1WQUE4QUFBRWpFUmNoQ3dFaE56VXpFU00xSVJVREFGV3Evd0JWVmY4QXFsYXJBZ0FDd1A2clZ2OEFBUUJXVlFFQVZWVUFCUUFCLzc0RC93UEJBQThBSGdBbEFEb0FRUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ0UxSXlJR0ZSRVVGanNCRVNNMU13VWhFU0V5TmpVREJ5YzNIZ0VYQnljVkl4Y0hKemNlQVJjSE16VVRJUlVoTlRRbUEzLzlBalZMU3pVQy9qVkxTLzFNZ2hFWUdCR0NxNnNDcWYyc0Fpc1JHUDROUEhNZE9oMDlETVFOUFhOekVCNFBEVy9WL2RVQ1ZCaENTelVEQXpWTFN6WDgvVFZMQXdLcUdCSDgveEVaQWxWVlZmMnJHUkVCUkEwOWN4MDZIRDBOeEF3OWRITVBIZzhOYndIbXFvRVJHQUFCQUtzQWF3TlZBeFVBREFBQUV5RVJNeEVoRlNFUkl4RWhOYXNCQUtvQkFQOEFxdjhBQWhVQkFQOEFxdjhBQVFDcUFBQUFBUUZrQU1BQ25BTEFBQVVBQUNVbk55Y0pBUUtjeDhjNC93QUJBUG5IeHpuL0FQOEFBQUFBQUFJQUFmKy9CQUFEd2dBYkFEY0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlITWhjZUFSY1dGUlFIRGdFSEJpTWlKeTRCSnlZMU5EYytBVGMyQWdCcVhWMkxLQ2dvS0l0ZFhXcHFYVjJMS0NrcEtJdGRYV3BZVGs1MElTSWlJWFJPVGxoWVRrNXpJaUVoSW5OT1RnUENLQ21MWGwxcWExMWRqQ2dwS1NpTVhWMXJhbDFlaXlrb1Z5RWlkRTFPV0ZsTlRuUWhJaUloZEU1TldWaE9UWFFpSVFBREFBSC92d1FBQThJQUhBQTRBRlFBQUFFVUJ3NEJCd1lqSWljdUFTY21OVFEzUGdFM05qTXlGeDRCRnhZVkFTSUhEZ0VIQmhVVUZ4NEJGeFl6TWpjK0FUYzJOVFFuTGdFbkpnY3lGeDRCRnhZVkZBY09BUWNHSXlJbkxnRW5KalUwTno0Qk56WURBQlFVUlM4dk5UVXZMa1lVRkJRVVJpNHZOVFV2TDBVVUZQOEFhbDFkaXlnb0tDaUxYVjFxYWwxZGl5Z3BLU2lMWFYxcVdFNU9kQ0VpSWlGMFRrNVlXRTVPY3lJaElTSnpUazRCd1RVdkwwVVVGQlFVUlM4dk5UVXVMMFlVRkJRVVJpOHVOUUlCS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQUFBUUJMQUZZRHRRTXFBQThBQUFFbk54WVhIZ0VYRmhjQkp6Y2hOU0VDa3E1bkxTMHRXeTB0THY2V1o2Mzl1Z0pIQWhXdVp5MHRMbG90TGkzK2xtZXRxd0FBQUFBQ0FJQUFRQU9BQTBBQURnQVlBQUFCRVNFUkl4RVVGak1oTWpZMUVTTUZOeGNISnpjWEVUTVJBeXY5cWxVeUl3SldJekpWL3dCdVBOWFZQRzVXQWNEKzFRRXIvdFVqTWpJakFTc2RianpWMVR4dUFaMytZd0FBQVFDckFSVURWUUpyQUFNQUFCTWhDUUdyQXFyK3EvNnJBbXYrcWdGV0FBQUJBVlVBYXdLckF4VUFBd0FBQ1FFUkFRRlZBVmIrcWdIQUFWWDlWZ0ZWQUFFQlZRQnJBcXNERlFBREFBQUpBaEVCVlFGVy9xb0RGZjZyL3FzQ3FnQUFBUUNyQVJVRFZRSnJBQU1BQUJNSkFTR3JBVlVCVmYxV0FSVUJWdjZxQUFBQkFFUUFaZ084QXhzQUNBQUFDUUkzRndFZUFSY0R2UDNFL3NSNHhBSEVIandlQXFMOXhBRThlTU1Cd3g0OEhnQUJBVlVBYXdLckF4VUFBd0FBQ1FJUkFWVUJWdjZxQXhYK3EvNnJBcW9BQUFFQXF3RnJBMVVDRlFBRUFBQVRJUlVoTmFzQ3F2MVdBaFdxcWdBQkFLc0JGUU5WQW1zQUF3QUFFeUVKQWFzQ3F2NnIvcXNDYS82cUFWWUFBQUVBQUFBQkFBQ3ZISWNEWHc4ODlRQUxCQUFBQUFBQTJRbnZzQUFBQUFEWkNlK3dBQUQvdmdRQUE4SUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFCQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBRGNFQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBdGdRQUFBQUVBQUNXQkFBQkFBUUFBQUVFQUFBQkJBQUFBUVFBQUFFRUFBQlZCQUFBVlFRQUFBRUVBQUNyQkFBQWJnUUFBSGdFQUFBeUJBQUFsZ1FBQUFFRUFBQWlCQUFBSWdRQUFGVUVBQUR5QkFBQXF3UUFBRlVFQUFBWkJBQUE4Z1FBQUVzRUFBQlZCQUFBQVFRQUFGVUVBQUFCQkFBQXF3UUFBV1FFQUFEU0JBQUFBUVFBQUtzRUFBQ3JCQUFBQVFRQUFLc0VBQUZrQkFBQUFRUUFBQUVFQUFCTEJBQUFnQVFBQUtzRUFBRlZCQUFCVlFRQUFLc0VBQUJFQkFBQlZRUUFBS3NFQUFDckFBQUFBQUFLQUJRQUhnQTZBSFFBbGdDd0FQb0JQZ0Y2QWE0QnhBSDJBakFDVkFKOEF3b0RaZ09DQThZRVNnVEFCTndFK0FWS0JaUUY5Z1lTQmk0R2FnYTRCdFFISWdjd0IwUUhjQWZNQi9vSUdBaDhDSllJcWdrQUNZQUpvZ25PQ2Q0SjdnbitDZzRLSmdvMkNrUUtWQUFCQUFBQU53QlpBQXdBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBRFFBQUFBRUFBQUFBQUFJQUJ3Q1dBQUVBQUFBQUFBTUFEUUJJQUFFQUFBQUFBQVFBRFFDckFBRUFBQUFBQUFVQUN3QW5BQUVBQUFBQUFBWUFEUUJ2QUFFQUFBQUFBQW9BR2dEU0FBTUFBUVFKQUFFQUdnQU5BQU1BQVFRSkFBSUFEZ0NkQUFNQUFRUUpBQU1BR2dCVkFBTUFBUVFKQUFRQUdnQzRBQU1BQVFRSkFBVUFGZ0F5QUFNQUFRUUpBQVlBR2dCOEFBTUFBUVFKQUFvQU5BRHNZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqVm1WeWMybHZiaUF4TGpBQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalVtVm5kV3hoY2dCU0FHVUFad0IxQUd3QVlRQnlZV2RIY21sa1EyeGhjM05wWXdCaEFHY0FSd0J5QUdrQVpBQkRBR3dBWVFCekFITUFhUUJqUm05dWRDQm5aVzVsY21GMFpXUWdZbmtnU1dOdlRXOXZiaTRBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT1cXFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIik7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XFxuXFxuLmFnLXRoZW1lLWRhcmsge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgY29sb3I6ICNjY2M7XFxuICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBsaW5lLWhlaWdodDogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWJvZHktdmlld3BvcnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSwgLmFnLXRoZW1lLWRhcmsgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0LCAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciwgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCwgLmFnLXRoZW1lLWRhcmsgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBtYXJnaW46IDRweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgcGFkZGluZzogNHB4IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYi5hZy10YWItc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMwMmUyZSAhaW1wb3J0YW50O1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrICoge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAqOmZvY3VzLCAuYWctdGhlbWUtZGFyayAqICo6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAqICo6YWZ0ZXIge1xcbiAgICAgIG91dGxpbmU6IG5vbmU7XFxuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUwNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU1MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ0OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU0NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg2NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU5MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDkzNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5NjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjg4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDgwcHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzM2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTUycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzg0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwgLmFnLWljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1kYXJrIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcmFkaW8tYnV0dG9uLWxhYmVsOmVtcHR5LCAuYWctdGhlbWUtZGFyayAuYWctY2hlY2tib3gtbGFiZWw6ZW1wdHkge1xcbiAgICAgIG1hcmdpbjogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWRhcmsgLmFnLWNoZWNrYm94LWxhYmVsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctcm93LmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1sZWFmLWluZGVudCB7XFxuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIGdyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtZmlyc3QtcmlnaHQtcGlubmVkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcm93LmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhIHtcXG4gICAgcGFkZGluZy1yaWdodDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6IGdyZWVueWVsbG93OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogcmVkOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IGNob2NvbGF0ZTtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xczsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMjI4LCAyMjgsIDIyOCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA0NiwgNDYsIDAuMyk7XFxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1waW5uZWQtbGVmdC1oZWFkZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1yb3cge1xcbiAgICBib3JkZXI6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAzZTNlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWV2ZW4ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLWxlZnQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaG9yaXpvbnRhbC1yaWdodC1zcGFjZXIge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGwtbGFiZWwgLmFnLWhlYWRlci1pY29uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1ncm91cC1jZWxsLmFnLWhlYWRlci1jZWxsLW1vdmluZyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JlYmViZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItZ3JvdXAtY2VsbDpub3QoLmFnLWhlYWRlci1ncm91cC1jZWxsLW5vLWdyb3VwKSB7XFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLXJvdzpmaXJzdC1jaGlsZCAuYWctaGVhZGVyLWNlbGwsIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItc2VsZWN0LWFsbCB7XFxuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZywgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1kcmFnZ2luZyB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbC5hZy1jZWxsLXJhbmdlLWhhbmRsZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ1ZDU7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICB3aWR0aDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tdGV4dCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgICAgIG1pbi13aWR0aDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3IgPiBzcGFuIHtcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJzEnJTIwaGVpZ2h0JTNEJzhweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDhweCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTNFJTNDbGluZSUyMHgxJTNEJzAnJTIweTElM0QnNHB4JyUyMHgyJTNEJzEnJTIweTIlM0QnNHB4JyUyMHN0cm9rZS13aWR0aCUzRCcxJyUyMHN0cm9rZSUzRCclMjNBOUE5QTknJTJGJTNFJTNDJTJGc3ZnJTNFXFxcIik7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCA4cHg7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsuYWctZG5kLWdob3N0IHNwYW4sXFxuICAgIC5hZy10aGVtZS1kYXJrLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyay5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWhlYWRlciB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIG1pbi13aWR0aDogMjIwcHg7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA0cHggMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpsYXN0LWNoaWxkID4gLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJyYWRpb1xcXCJdIHtcXG4gICAgbWFyZ2luOiAwIDNweCAwIDZweDtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTdweDtcXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWxpc3Qge1xcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1kYXJrIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSA+IHNwYW4ge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIGJ1dHRvbiB7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwgPiBkaXYge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHkge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSB7XFxuICAgICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgICAgIC1tcy1mbGV4OiBhdXRvO1xcbiAgICAgICAgICAgICAgICBmbGV4OiBhdXRvO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5LXdyYXBwZXIge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCB7XFxuICAgICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgcGFkZGluZzogNHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGNvbG9yOiAjY2NjY2NjO1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uLmFnLWRpc2FibGVkIHtcXG4gICAgICBjb2xvcjogcmdiYSgyMjgsIDIyOCwgMjI4LCAwLjUpO1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiBidXR0b24ge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvdy1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTcwOGI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCB7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0IHtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtbGVmdCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1sZWZ0IHtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMzUsIDE2MCwgMC40KTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDE2MCwgMTAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC0xOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuNCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLTI6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxNjAsIDE2MCwgMC42KTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjcpOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZC00Om5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTYwLCAxNjAsIDAuOCk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0IHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWJvdHRvbSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2Q2ZDVkNTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQsIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogNnB4O1xcbiAgICBoZWlnaHQ6IDZweDtcXG4gICAgYm90dG9tOiAtMXB4O1xcbiAgICByaWdodDogLTFweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbGwtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBjZWxsOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nLCAuYWctdGhlbWUtZGFyayAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXBvcHVwLWVkaXRvciAuYWctbGFyZ2UtdGV4dGFyZWEgdGV4dGFyZWEge1xcbiAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICBwYWRkaW5nOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICB3aWR0aDogMjAwcHg7XFxuICAgIGhlaWdodDogMTYyLjVweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBoZWlnaHQ6IDI1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93LXNlbGVjdGVkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhNzA4YjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDEycHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLCAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY2hpbGQtY291bnQge1xcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1yaWdodC1hcnJvdyB7XFxuICAgICAgbWFyZ2luOiAwIDRweDtcXG4gICAgICBvcGFjaXR5OiAxOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgYmFja2dyb3VuZDogIzQwM2UzZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcXG4gICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgcGFkZGluZzogMCAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtdGV4dCB7XFxuICAgICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgICAgb3BhY2l0eTogMTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyYWcge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCB7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgIGhlaWdodDogNzBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCA+IC5hZy1jb2x1bW4tZHJvcC1jZWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY2hvY29sYXRlICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWRhdGEtY2hhbmdlZC1hbmltYXRpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctcm93LXN0dWIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zdHViLWNlbGwgLmFnLWxvYWRpbmctaWNvbiB7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XFxuICAgICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cXG5cXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuXFxuQGtleWZyYW1lcyBzcGluIHtcXG4gIGZyb20ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XFxuICB0byB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0dWItY2VsbCAuYWctbG9hZGluZy10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCwgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLXRvcCAuYWctcm93LCAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctYm90dG9tIC5hZy1yb3cge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XFxuICAgIGNvbG9yOiByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuNSk7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLW5hbWUtdmFsdWUtdmFsdWUge1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXN0YXR1cy1iYXItY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICMzMDJlMmU7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiAjY2NjO1xcbiAgICAgICAgcGFkZGluZzogOHB4IDAgOHB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcycHg7XFxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAwO1xcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMmUyZTtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IHtcXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcXG4gICAgcGFkZGluZzogMTBweCAycHg7XFxuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMTY5LCAxNjksIDE2OSwgMC41KTtcXG4gICAgYm9yZGVyLXRvcC13aWR0aDogNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1pdGVtIHtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrLmFnLXBvcHVwID4gZGl2IHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctZHJhZ2dpbmctcmFuZ2UtaGFuZGxlIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBjb2xvcjogI2NjY2NjYztcXG4gICAgICBoZWlnaHQ6IDI1cHg7XFxuICAgICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24gLmFnLWljb24ge1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk0OTQ5OyB9XFxuICAgICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctZGlhbG9nIC5hZy1tZXNzYWdlLWJveCAuYWctbWVzc2FnZS1ib3gtYnV0dG9uLWJhciBidXR0b24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2x0aXAge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctdG9vbHRpcC5hZy10b29sdGlwLWhpZGluZyB7XFxuICAgICAgb3BhY2l0eTogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogIzMwMmUyZTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUgPiBzcGFuOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNTE1OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW5hdi1iYXIgLmFnLW5hdi1jYXJkLXNlbGVjdG9yIC5hZy1uYXYtY2FyZC1pdGVtLmFnLXNlbGVjdGVkIHtcXG4gICAgICBjb2xvcjogI2Q2ZDVkNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogI2Q2ZDVkNTtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYWdncmVnYXRpb246YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tYXJyb3dzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jYW5jZWw6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hhcnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xcbiAgICBsaW5lLWhlaWdodDogMTJweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiAjZDZkNWQ1OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZTpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWNvbnRyYWN0ZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jcm9zczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MENcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1kZXNjOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1leWU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWdyaXA6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1kYXJrIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTlcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW1lbnU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tbmV4dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBhc3RlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1wbHVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uIHtcXG4gICAgY29sb3I6ICNkNmQ1ZDU7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tcmlnaHQ6YmVmb3JlLCAuYWctdGhlbWUtZGFyayAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi1zbWFsbC1kb3duOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1pY29uLXNtYWxsLWxlZnQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tc21hbGwtdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdGljazpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkZcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaWNvbi10cmVlLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWljb24tdHJlZS1vcGVuOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctcmFkaW8tYnV0dG9uLWxhYmVsLCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtZW1wdHktbWVzc2FnZSB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi5hZy10b29scGFuZWwtYWRkLWdyb3VwLWluZGVudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQsXFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtZXhwYW5kZWQgKyAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxcbiAgICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1waXZvdCB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctcnRsIC5hZy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1kYXJrIC5hZy1ydGwgLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCIyNHB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjIwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjcwcHhcXFwiLCBcXFwiY2hlY2tib3hJbmRlbnRXaWR0aFxcXCI6IFxcXCIxNnB4XFxcIiwgXFxcImxlYWZOb2RlUGFkZGluZ1xcXCI6IFxcXCIxMnB4XFxcIiwgXFxcInJvd0hlaWdodFxcXCI6IFxcXCIyNXB4XFxcIiwgXFxcImdyaWRTaXplXFxcIjogXFxcIjRweFxcXCIsIFxcXCJpY29uU2l6ZVxcXCI6IFxcXCIxMnB4XFxcIiB9JztcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmFkZWQge1xcbiAgICBvcGFjaXR5OiAwLjM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZTo6YWZ0ZXIge1xcbiAgICBoZWlnaHQ6IDI1cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXJvb3Qge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhhcy1mb2N1cyAuYWctY2VsbC1mb2N1czpub3QoLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQpIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE3MDhiOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctbWVudSAuYWctbWVudS1vcHRpb24ge1xcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBiYWNrZ3JvdW5kOiAjNDAzZTNlO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcXG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH1cXG4gICAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDE2MCwgMTYwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbGlnaHRncmVlbjsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwLFxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXIge1xcbiAgICBoZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy10YWIge1xcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaXRpYWw7XFxuICAgICAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWhlYWRlci1jZWxsLW1vdmluZyAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZGFyayAuYWctb3ZlcmxheS1sb2FkaW5nLXdyYXBwZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4gIC5hZy10aGVtZS1kYXJrIC5hZy1vdmVybGF5LWxvYWRpbmctY2VudGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgcGFkZGluZzogMTBweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgaW5wdXQsXFxuICAuYWctdGhlbWUtZGFyayBzZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZTJlO1xcbiAgICBjb2xvcjogI2NjYzsgfVxcbiAgLmFnLXRoZW1lLWRhcmsgLmFnLWZsb2F0aW5nLWZpbHRlci1ib2R5IGlucHV0W3JlYWRvbmx5XSB7XFxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDQ2LCA0NiwgMC4zKTsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgc3JjOiB1cmwoXFxcImRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCbElBQUFDOEFBQUFZR050WVhBWFZ0SzVBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabmI5MHU0QUFBRjRBQUFVcUdobFlXUVZNeVBkQUFBV0lBQUFBRFpvYUdWaEI4SUQrQUFBRmxnQUFBQWthRzEwZU5JQUYrWUFBQlo4QUFBQTNHeHZZMkdTSXBja0FBQVhXQUFBQUhCdFlYaHdBRVFBV3dBQUY4Z0FBQUFnYm1GdFpTakc5VXNBQUJmb0FBQUJ6bkJ2YzNRQUF3QUFBQUFadUFBQUFDQUFBd1AyQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURwTWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZUTC8vZi8vQUFBQUFBQWc2UUQvL2YvL0FBSC80eGNFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFMWUFRQU5LQTBBQURBQUFBU0VYQnlFVklSTURJUndCRlFOSy9wTjVlUUZ0L1d6YzNBS1VBcFhWMWFzQmdBR0FLMVVyQUFBQUFBRUFBUC9BQkFBRHdBQWdBQUFCTlFjbk54Y0hKeEVoSnpjWEJ5YzNJUkUzRndjbk54Y1JJUmNISnpjWEJ5RUJ6VkpJemMxSVVnRUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSkF2TUpVVWpOelVoUi92ZFNTTTNOU0ZMKzkxRkl6YzFJVVFFSlVrak56VWhTQUFBQUFRQ1dBQjREYWdOaUFBOEFBQUVISndFV0Z4NEJGeFlYQnljUkl4RUJyckZuQVdvdExpMWFMaTB0WjdDbEFrS3had0ZxTGkwdFd5MHRMV2V3L2QwQ0pBQUFBQUFCQVFBQXdBTUFBc0FBQ3dBQUFRY25CeWMzSnpjWE54Y0hBd0JJdUxoSXVMaEl1TGhJdUFFSVNMaTRTTGk0U0xpNFNMZ0FCUUFCLzc0RC93UEJBQThBSHdBa0FDZ0FMUUFBQlNFaUpqVVJORFl6SVRJV0ZSRVVCZ01oSWdZVkVSUVdNeUV5TmpVUk5DWUJNeEVqRVFVekZTTURNeEVqRVFOLy9RSTFTMHMxQXY0MVMwczAvUDRSR0JnUkF3SVJHQmo5bWxWVkFWVlZWYXRXVmtKTE5RTUROVXRMTmZ6OU5Vc0RyQmdSL1A4UkdSa1JBd0VSR1A2ci90WUJLb0NxQWFyK1ZnR3FBQUFBQUFNQUFmKytBLzhEd1FBSUFCa0FLUUFBQ1FFbk54Y1RIZ0VYRXpJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeVgrNlAwMXJ1Z1NKaEphTlV0TE5mMENOVXRMTlFMK0FmeitFUmdZRVFNQ0VSZ1lBcXo5L3NwRGl3R29DaFFLQVJWTE5mejlOVXRMTlFNRE5VdFhHQkg4L3hFWkdSRURBUkVZQUFBREFBSC92Z1AvQThFQUF3QVVBQ1FBQUFFaEZTRUJNaFlWRVJRR0l5RWlKalVSTkRZeklSY2hJZ1lWRVJRV015RXlOalVSTkNZQlZRRlcvcW9DS2pWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQUlWcWdKV1N6WDgvVFZMU3pVREF6VkxWeGdSL1A4UkdSa1JBd0VSR0FBQUFBQUNBQUgvdmdQL0E4RUFFQUFnQUFBQk1oWVZFUlFHSXlFaUpqVVJORFl6SVJjaElnWVZFUlFXTXlFeU5qVVJOQ1lEZnpWTFN6WDlBalZMU3pVQy9nSDgvaEVZR0JFREFoRVlHQVBCU3pYOC9UVkxTelVEQXpWTFZ4Z1IvUDhSR1JrUkF3RVJHQUFBQUFJQVZRQVZBYXNEYXdBRUFBZ0FBQUVSSVJFaEVSVWhOUUdyL3FvQlZ2NnFBbXY5cWdKV0FRQ3Jxd0FBQmdCVkFCVURxd05yQUFNQUNBQU1BQkVBRlFBYUFBQWxGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJGU0UxSVJVaE5TRUJxLzZxQTFiK3FnRlcvZ0QrcWdOVy9xb0JWdjRBL3FvRFZ2NnFBVmJBcTZ1cnF3RlZxcXFxcWdGV3E2dXJxd0FBQUFNQUFmKytBLzhEd1FBUUFDQUFKQUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BeFVoTlFOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZa2Y0QUE4RkxOZno5TlV0TE5RTUROVXRYR0JIOC94RVpHUkVEQVJFWS9xdXFxZ0FBQXdDckFHc0RWUU1WQUFjQUN3QVJBQUFCTXhFaE5TTVJJUk1oRVNFRE5TRVJNeEVDcTZyK0FLb0NBRlgrcXdGVnEvNnJWUUpyL2dDcUFnRC9BUDZyQWF0Vi9xc0JBQUFBQVFCdUFDNERrZ05TQUE0QUFBa0JIZ0VYQ1FFSENRRW5DUUUzQVFJQUFSa2VQUjcrNXdFWmVmN24vdWQ1QVJuKzUza0JHUUk1QVJrZVBSNys1LzduZVFFWi91ZDVBUmtCR1huKzV3QUFBQUFEQUhnQTFRT2ZBdUVBT0FCR0FGZ0FBQUUyTno0Qk56WVhIZ0VmQVFZSERnRUhCZ2NXRng0QkZ4WVhEZ0VuTGdFbkRnRUhCaWN1QVNjbU56NEJOeTRCTno0QkZ4NEJGeDRCRndjR0J3NEJCd1kzUGdFM01EWUhKeUlHQnc0QkJ3WVhIZ0VYRmhjM0xnRWpBaG9tSlNaR0lDRWRFQndOTnlBZ0lFQWhJQ0FnSVNCQUlDQWdObTFKSWtvaE8zeENIeVVtT3c4UERnMURLRUJNR0JBOU1UMXNOaEFoRUpzbkt5czJBUUl0STBRa0F3V09CQWtGQXdVREZ3ME1QaWNuSGdFbFRoMENPU0VlSHk4T0RnRUJDUWNoR3hzYk54d2JHeG9aR2pRYUdob2hEallaTnhrc1RCME9BZ0lpSGg0cUt6a1RJbkEwSXlNQkJFNG1EQmdNa0FFVkZURVRFd0lCTkJnMEFlTUNBUUVEQVE4VUZTVU9EUUV6R2pRQUFBY0FNZ0FuQTg0RFdRQUxBQThBSEFBZ0FDMEFNUUErQUFBM0lnWVZGQll6TWpZMU5DWXBBUlVoQVNJR0ZSUVdNekkyTlRRbUl5RVZJVFVITWhZVkZBWWpJaVkxTkRZekFSVWhOU015RmhVVUJpTWlKalUwTmpPZExUNCtMU3crUGdNRi9WVUNxL3pQTFQ0K0xTdytQaXdETWYxVmhoNHNMQjRmTEN3ZkF6SDlWWVlzUGo0c0xUNCtMZncrTEMwK1BpMHNQdFVDQkQ4c0xEOC9MQ3cvMXRZZ0xCOGZMQ3dmSHl3QlR0WFZQaTBzUGo0c0xUNEFBQUFCQUpZQUl3TnFBMTBBQ3dBQUFSRTZBVE1STnhjSkFUY1hBYThwVWltd1ovNlcvcFpuc2dGREFocjk1N0JuL3BZQmFtZXhBQUFBQUFNQUFmKytBLzhEd1FBUUFDQUFMUUFBQVRJV0ZSRVVCaU1oSWlZMUVUUTJNeUVYSVNJR0ZSRVVGak1oTWpZMUVUUW1BVFV6RlRNVkl4VWpOU00xTXdOL05VdExOZjBDTlV0TE5RTCtBZnorRVJnWUVRTUNFUmdZL2hxcXE2dXFxNnNEd1VzMS9QMDFTMHMxQXdNMVMxY1lFZnovRVJrWkVRTUJFUmorcTZ1cnFxdXJxZ0FBQUFBREFDSUFkZ1BlQXdvQUlnQkhBRkVBQUFFM0Z6NEJNeFlYSGdFWEZoY09BUWNYQnljM0FUNEJOell5TXlZME5TTWlCZ2NuQnhNbUp5NEJKeVluRGdFSEZoY2VBUmNXTnhjR0J3WW1KeVluSmljdUFTY21KejRCTndFK0FUY3dKaWNPQVFjQktEVW5JRUlqU0VKQ2R6UXpLeXB2UURkRElRNyt6QjQvSGdvVUN3RUxOV3N5VURMcktpVWxPaFFVQnlNK0dpWXhNbk0vUHo4MExpOHZYeTh2TGlJZUh6WVpHQmNyYWo4QjR5NU1JRDg1Q3o0c0F1RXBNZ2tLQWhjWFVEWTJQejVySjBVMUtRd0Jod2NGQVFFVkt4VUtFR1pLL3RZRkVSSTNKQ1FwR2o4a05Da3FPQXdNQ0VFT0JRVUpFQThiRlJvWk95QWdJajl2S2Y2UUhVc3JVQzAxVmhzQUFBQURBQ0lBbVFQZUF1Z0FIQUE3QUVrQUFBRVdGeDRCRnhZWEJnY09BU2NtSnlZbkxnRW5KaWMyTno0Qk56WVhCUTRCQnhZWEhnRTNOamMrQVRjd0ppY0dCdzRCQndZaklpY3VBU2NtSnlVbU5EVWpEZ0VIRno0Qk56b0JBZ2xJUWtKM05ETXJPMVZWeFdscFl5SWVIellaR0JjcU5UUjdSa1ZPL3ZzalBob3dSRVNjVWxOTk1WRWlQemtKRnhkREtTb3VMeW9yUWhjWENBRlNBUXRFaHp3bExtWXhDaFFDNkFJWEYwODJOa0JYUlVWSUJRUThGQm9hT2lFZ0lUODNOMUVYRndHdUdVQWtRakV5TVFZRkxSeFBMbEFzTENVbE53OFFFQkE1Smljc0F4WXJGUUVSSFUwV0RnSUFBQUlBVlFCQUE2c0RRQUFHQUFzQUFCTWhBUkVuRVFFQkZUTTFJMVVEVnY2cXF2NnFBVmFxcWdOQS9xditWYXNCQUFGVi9xdFdWZ0FBQWdEeUFNQUREZ0xBQUFNQUNRQUFBUkVqRVFFbk55Y0pBUUZIVlFJY3g4YzUvd0FCQUFMQS9nQUNBUDQ1eDhjNS93RC9BQUFBQUFBTUFLdi82d05WQTVVQUF3QUlBQXdBRUFBVkFCa0FIUUFpQUNZQUtnQXZBRE1BQURjekZTTWxNeFVqTlNFekZTTUJNeFVqSlRNVkl6VWhNeFVqQVRNVkl5VXpGU00xSVRNVkl3RXpGU01sTXhVak5RVWpOVE9ycXFvQkFLcXFBUUNxcXY0QXFxb0JBS3FxQVFDcXF2NEFxcW9CQUtxcUFRQ3FxdjRBcXFvQkFLcXFBYXFxcXBXcXFxcXFxZ0dxcXFxcXFxb0JxcXFxcXFxcUFhcXFxcXFxcXFvQUFBVUFWZi9yQTZzRGxRQWVBQ0lBSndBckFDOEFBQUV6TlNFUklUVWpGU01WSVRVaEVTRTFJUkVoTlNFUklUVWhFU01SSVJVQkl4VXpFU01WTXpVUkl4VXpKU01WTXdHcnFnRlcvcXFxcXdGVkFWYitxdjZyQVZVQlZ2NnEvbFpXQVZZQnFxcXFxcXFxcXY0QXFxb0RRRlgvQUZaV3FsWC9BRlgvQUZiL0FGVUNWUUVBVmYxVlZRR3JWbFlCVlZWVlZRQUFBQUFEQUJrQkVRUG5BcE1BRmdBc0FEc0FBQUVXRng0QkZ4WWZBUVlIRGdFbkppOEJOamMrQVRjMkJRNEJJeUltSnc0QkR3RVdGeDRCTnpZL0FTNEJKd2NtTkRVakRnRUhGejRCTnpZeU13SUlQanc4Y2pNMExDUmVlbm4vZkh0akpERTZPWDVFUXdFdEhJRlNVb0VjSVQwY0EwcGVYc1ZmWDB3REhEOGltUUVMUkljOEpTNW1NUW9VQ3dLVEFRd01MU0VnS3lSZE5UVVBLaWxmSkRJbktEY1BENGhIWEZ4SERpWVhBejhnSVFFZ0gwQUNHQ2dPSXhVckZRRVFIa3dXRFFJQkFBQUFBZ0R5QU1BRERnTEFBQU1BQ2dBQUpTTVJNd0UzSnpjSkFTY0REbFZWL2VUSHh6a0JBUDhBT2NBQ0FQNDV4OGM1L3dEL0FEa0FBQUFCQUVzQVZnTzFBeW9BQ3dBQUFSY0hDUUVlQVJjSElSVWhBVyt0Wi82V0FXb1pOQnF2QWtqOXVnRnFyV2NCYWdGcUdqTWFycXNBQUFJQVZRQVZBNnNEYXdBYkFDVUFBQUUzRndjekZTTWVBUmNISnhVak5RY25OeU0xTXljM0hnRVhOVE1ETXpjMUp5TUhGUjRCQWxXY2VaemQzU2RPSjNtY3FweDVuTjNkbkhrblRpZXFuSTVrWkk1a0dUSUNqcHg1bktvblRpZDVuTjNkbkhtY3FweDVKMDRuM2YycVpJNWtaSTRaTWdBQUFBUUFBZisrQS84RHdRQVBBQjhBSndBdUFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0F5RWlCaFVSRkJZeklUSTJOUkUwSmdFSE54YzNGd2NYQVRjSEZ3Y1hOd04vL1FJMVMwczFBdjQxUzBzMC9QNFJHQmdSQXdJUkdCajk0T05JTXA4NW56QUJ0MHJsTWFBNW9FSkxOUU1ETlV0TE5mejlOVXNEckJnUi9QOFJHUmtSQXdFUkdQMHRTZVF4bnptZk1RRzM1VWt5b0RtZ0FBQUFBQU1BVlFBVkE2c0Rhd0FEQUFjQUN3QUFKUlVoTlFFVklUVUJGU0UxQTZ2OHFnTlcvS29EVnZ5cXdLdXJBVldxcWdGV3E2c0FBQUFBQkFBQi83NEQvd1BCQUE4QUh3QW5BQzRBQUFVaElpWTFFVFEyTXlFeUZoVVJGQVlESVNJR0ZSRVVGak1oTWpZMUVUUW1BVGNISndjbk55Y0JCemNuTnljSEEzLzlBalZMU3pVQy9qVkxTelQ4L2hFWUdCRURBaEVZR1AxczVFa3luem1mTUFGc1NlUXhuem1mUWtzMUF3TTFTMHMxL1AwMVN3T3NHQkg4L3hFWkdSRURBUkVZL2U1SjVER2dPYUF4QVd6a1NUR2dPYUFBQUFBQUFRQ3JBV3NEVlFJVkFBUUFBQk1oRlNFMXF3S3EvVllDRmFxcUFBRUJaQURBQXB3Q3dBQUdBQUFsTnljM0NRRW5BV1RIeHpnQkFQOEFPUG5IeHpuL0FQOEFPUUFCQU5MLzFnTXVBNm9BRkFBQUFRY25BUllYSGdFWEZoY0hKeEUzRndrQk54Y1JBYVZzWndFdUppVW1UQ1VtSm1kc2JHZiswdjdTWjJ3Q2dXeG5BUzRtSlNaTUpTWW1aMnorZm14bi90SUJMbWRzQVlJQUFBQUFBd0FCLzc4RUFBUENBQnNBS2dBNUFBQUJNaGNlQVJjV0ZSUUhEZ0VIQmlNaUp5NEJKeVkxTkRjK0FUYzJCUUVlQVRNeU56NEJOelkxTkNZbkp5NEJJeUlIRGdFSEJoVVVGaGNCQWdCcVhWMkxLQ2twS0l0ZFhXcHFYVjJMS0Nnb0tJdGRYUUc3L2FrMmhrcFlUazUwSVNJd0trbzNoa3BZVGs1eklpRXZLd0pYQThJb0tZdGVYV3ByWFYyTUtDa3BLSXhkWFd0cVhWNkxLU2o3L2FrcU1DSWhkRTVOV1VxRk4wb3FNQ0VpZEUxT1dFdUdOZ0pYQUFJQXF3QkFBMVVEUUFBTkFDQUFBQUVoRkJVY0FSVVVGU0VSSVRVekZ5TXdNakVWSVRVek1DTXFBU01pTVJFaEVRSlZBUUQ5VmdFQXFxdXJWdjZxVmhzYlFCb2JBZ0FDNjFaVlZhdFZWbFVDcTFXcnFxcitBQUlBQUFBQUFRQ3JBQlVEVlFNVkFBOEFBQUVqRVJjaEN3RWhOelV6RVNNMUlSVURBRldxL3dCVlZmOEFxbGFyQWdBQ3dQNnJWdjhBQVFCV1ZRRUFWVlVBQlFBQi83NEQvd1BCQUE4QUhnQWxBRG9BUVFBQUJTRWlKalVSTkRZeklUSVdGUkVVQmdFMUl5SUdGUkVVRmpzQkVTTTFNd1VoRVNFeU5qVURCeWMzSGdFWEJ5Y1ZJeGNISnpjZUFSY0hNelVUSVJVaE5UUW1BMy85QWpWTFN6VUMvalZMUy8xTWdoRVlHQkdDcTZzQ3FmMnNBaXNSR1A0TlBITWRPaDA5RE1RTlBYTnpFQjRQRFcvVi9kVUNWQmhDU3pVREF6VkxTelg4L1RWTEF3S3FHQkg4L3hFWkFsVlZWZjJyR1JFQlJBMDljeDA2SEQwTnhBdzlkSE1QSGc4TmJ3SG1xb0VSR0FBQkFLc0Fhd05WQXhVQURBQUFFeUVSTXhFaEZTRVJJeEVoTmFzQkFLb0JBUDhBcXY4QUFoVUJBUDhBcXY4QUFRQ3FBQUFBQVFGa0FNQUNuQUxBQUFVQUFDVW5OeWNKQVFLY3g4YzQvd0FCQVBuSHh6bi9BUDhBQUFBQUFBSUFBZisvQkFBRHdnQWJBRGNBQUFFaUJ3NEJCd1lWRkJjZUFSY1dNekkzUGdFM05qVTBKeTRCSnlZSE1oY2VBUmNXRlJRSERnRUhCaU1pSnk0Qkp5WTFORGMrQVRjMkFnQnFYVjJMS0Nnb0tJdGRYV3BxWFYyTEtDa3BLSXRkWFdwWVRrNTBJU0lpSVhST1RsaFlUazV6SWlFaEluTk9UZ1BDS0NtTFhsMXFhMTFkakNncEtTaU1YVjFyYWwxZWl5a29WeUVpZEUxT1dGbE5UblFoSWlJaGRFNU5XVmhPVFhRaUlRQURBQUgvdndRQUE4SUFIQUE0QUZRQUFBRVVCdzRCQndZaklpY3VBU2NtTlRRM1BnRTNOak15Rng0QkZ4WVZBU0lIRGdFSEJoVVVGeDRCRnhZek1qYytBVGMyTlRRbkxnRW5KZ2N5Rng0QkZ4WVZGQWNPQVFjR0l5SW5MZ0VuSmpVME56NEJOellEQUJRVVJTOHZOVFV2TGtZVUZCUVVSaTR2TlRVdkwwVVVGUDhBYWwxZGl5Z29LQ2lMWFYxcWFsMWRpeWdwS1NpTFhWMXFXRTVPZENFaUlpRjBUazVZV0U1T2N5SWhJU0p6VGs0QndUVXZMMFVVRkJRVVJTOHZOVFV1TDBZVUZCUVVSaTh1TlFJQktDbUxYbDFxYTExZGpDZ3BLU2lNWFYxcmFsMWVpeWtvVnlFaWRFMU9XRmxOVG5RaElpSWhkRTVOV1ZoT1RYUWlJUUFBQVFCTEFGWUR0UU1xQUE4QUFBRW5OeFlYSGdFWEZoY0JKemNoTlNFQ2txNW5MUzB0V3kwdEx2NldaNjM5dWdKSEFoV3VaeTB0TGxvdExpMytsbWV0cXdBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRQ3JBUlVEVlFKckFBTUFBQk1oQ1FHckFxcitxLzZyQW12K3FnRldBQUFCQVZVQWF3S3JBeFVBQXdBQUNRRVJBUUZWQVZiK3FnSEFBVlg5VmdGVkFBRUJWUUJyQXFzREZRQURBQUFKQWhFQlZRRlcvcW9ERmY2ci9xc0NxZ0FBQVFDckFSVURWUUpyQUFNQUFCTUpBU0dyQVZVQlZmMVdBUlVCVnY2cUFBQUJBRVFBWmdPOEF4c0FDQUFBQ1FJM0Z3RWVBUmNEdlAzRS9zUjR4QUhFSGp3ZUFxTDl4QUU4ZU1NQnd4NDhIZ0FCQVZVQWF3S3JBeFVBQXdBQUNRSVJBVlVCVnY2cUF4WCtxLzZyQXFvQUFBRUFxd0ZyQTFVQ0ZRQUVBQUFUSVJVaE5hc0NxdjFXQWhXcXFnQUJBS3NCRlFOVkFtc0FBd0FBRXlFSkFhc0NxdjZyL3FzQ2EvNnFBVllBQUFFQUFBQUJBQUN2SEljRFh3ODg5UUFMQkFBQUFBQUEyUW52c0FBQUFBRFpDZSt3QUFEL3ZnUUFBOElBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJBQUFBQUFBQkFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQURjRUFBQUFBQUFBQUFBQUFBQUNBQUFBQkFBQXRnUUFBQUFFQUFDV0JBQUJBQVFBQUFFRUFBQUJCQUFBQVFRQUFBRUVBQUJWQkFBQVZRUUFBQUVFQUFDckJBQUFiZ1FBQUhnRUFBQXlCQUFBbGdRQUFBRUVBQUFpQkFBQUlnUUFBRlVFQUFEeUJBQUFxd1FBQUZVRUFBQVpCQUFBOGdRQUFFc0VBQUJWQkFBQUFRUUFBRlVFQUFBQkJBQUFxd1FBQVdRRUFBRFNCQUFBQVFRQUFLc0VBQUNyQkFBQUFRUUFBS3NFQUFGa0JBQUFBUVFBQUFFRUFBQkxCQUFBZ0FRQUFLc0VBQUZWQkFBQlZRUUFBS3NFQUFCRUJBQUJWUVFBQUtzRUFBQ3JBQUFBQUFBS0FCUUFIZ0E2QUhRQWxnQ3dBUG9CUGdGNkFhNEJ4QUgyQWpBQ1ZBSjhBd29EWmdPQ0E4WUVTZ1RBQk53RStBVktCWlFGOWdZU0JpNEdhZ2E0QnRRSElnY3dCMFFIY0FmTUIvb0lHQWg4Q0pZSXFna0FDWUFKb2duT0NkNEo3Z24rQ2c0S0pnbzJDa1FLVkFBQkFBQUFOd0JaQUF3QUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURRQUFBQUVBQUFBQUFBSUFCd0NXQUFFQUFBQUFBQU1BRFFCSUFBRUFBQUFBQUFRQURRQ3JBQUVBQUFBQUFBVUFDd0FuQUFFQUFBQUFBQVlBRFFCdkFBRUFBQUFBQUFvQUdnRFNBQU1BQVFRSkFBRUFHZ0FOQUFNQUFRUUpBQUlBRGdDZEFBTUFBUVFKQUFNQUdnQlZBQU1BQVFRSkFBUUFHZ0M0QUFNQUFRUUpBQVVBRmdBeUFBTUFBUVFKQUFZQUdnQjhBQU1BQVFRSkFBb0FOQURzWVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalZtVnljMmx2YmlBeExqQUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCallXZEhjbWxrUTJ4aGMzTnBZd0JoQUdjQVJ3QnlBR2tBWkFCREFHd0FZUUJ6QUhNQWFRQmpVbVZuZFd4aGNnQlNBR1VBWndCMUFHd0FZUUJ5WVdkSGNtbGtRMnhoYzNOcFl3QmhBR2NBUndCeUFHa0FaQUJEQUd3QVlRQnpBSE1BYVFCalJtOXVkQ0JuWlc1bGNtRjBaV1FnWW5rZ1NXTnZUVzl2Ymk0QVJnQnZBRzRBZEFBZ0FHY0FaUUJ1QUdVQWNnQmhBSFFBWlFCa0FDQUFZZ0I1QUNBQVNRQmpBRzhBVFFCdkFHOEFiZ0F1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09XFxcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxcblxcbi5hZy10aGVtZS1mcmVzaCB7XFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgY29sb3I6IGJsYWNrO1xcbiAgZm9udC1mYW1pbHk6IFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctYm9keS12aWV3cG9ydCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSwgLmFnLXRoZW1lLWZyZXNoIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3QsIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IsIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwLCAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIC5hZy10YWIge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgbWFyZ2luOiA0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIHBhZGRpbmc6IDRweCA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjZmNmY2ICFpbXBvcnRhbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCBsYWJlbCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAqIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoICo6Zm9jdXMsIC5hZy10aGVtZS1mcmVzaCAqICo6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggKiAqOmFmdGVyIHtcXG4gICAgICBvdXRsaW5lOiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdGFiIHtcXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC02IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC03IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC04IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC05IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMjg4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMjcycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDMycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzY4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDM4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTc2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYwMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDE2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MjRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjQ4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0OTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc0NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTEycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzkycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDgxNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNTYwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogODY0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDYyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM5IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NDBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNjU2cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA5ODRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY3MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDY4OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAzMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMzJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA1NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwNTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA4MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwODBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDczNnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEwNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTEyOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExMjhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc2OHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE1MnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDc4NHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggZG90dGVkIHNpbHZlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEtdXAge1xcbiAgICBjb2xvcjogZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS1kZWx0YS1kb3duIHtcXG4gICAgY29sb3I6IGRhcmtyZWQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXZhbHVlLWNoYW5nZS12YWx1ZS1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpkaXNhYmxlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSh3aGl0ZSksIHRvKGxpZ2h0Z3JleSkpO1xcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsIGxpZ2h0Z3JleSk7XFxuICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLXJpZ2h0LWhlYWRlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGlubmVkLWxlZnQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IGRhcmtncmV5O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3c6bm90KC5hZy1yb3ctZmlyc3QpIHtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LmFnLXJvdy1sYXN0IHtcXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1vZGQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ldmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1ob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtY2VsbCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1ncm91cC1jZWxsIHtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgY3Vyc29yOiBjb2wtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1zZWxlY3QtYWxsIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwge1xcbiAgICBsaW5lLWhlaWdodDogMjNweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnIHtcXG4gICAgY3Vyc29yOiBtb3ZlO1xcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcXG4gICAgY3Vyc29yOiBncmFiO1xcbiAgICBtaW4td2lkdGg6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJvdy1kcmFnZ2luZyAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcm93LWRyYWdnaW5nIHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC1mb2N1cy5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsLmFnLWNlbGwtcmFuZ2UtaGFuZGxlIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XFxuICAgIG91dGxpbmU6IGluaXRpYWw7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtcmVzaXplIHtcXG4gICAgd2lkdGg6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDRweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtbGlzdCB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcXG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IFxcXCJcXFwiOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tZGlzYWJsZWQge1xcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1pY29uIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuICAgICAgbWluLXdpZHRoOiAyMHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tc2hvcnRjdXQge1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbWVudSAuYWctbWVudS1zZXBhcmF0b3Ige1xcbiAgICAgIGhlaWdodDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnOHB4JyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxJTIwOHB4JyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclM0UlM0NsaW5lJTIweDElM0QnMCclMjB5MSUzRCc0cHgnJTIweDIlM0QnMSclMjB5MiUzRCc0cHgnJTIwc3Ryb2tlLXdpZHRoJTNEJzEnJTIwc3Ryb2tlJTNEJyUyM0E5QTlBOSclMkYlM0UlM0MlMkZzdmclM0VcXFwiKTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXBvcHVwLXBvaW50ZXIge1xcbiAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCB7XFxuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBwYWRkaW5nOiA0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgZm9udC1zaXplOiAxNHB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDAgOHB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaC5hZy1kbmQtZ2hvc3Qgc3BhbixcXG4gICAgLmFnLXRoZW1lLWZyZXNoLmFnLWRuZC1naG9zdCBkaXYge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2guYWctZG5kLWdob3N0IC5hZy1kbmQtZ2hvc3QtaWNvbiB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgb3BhY2l0eTogMTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcXG4gICAgbWluLXdpZHRoOiAyMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIgLmFnLXRhYiB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IHtcXG4gICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0IHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiBzcGFuIHtcXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10YWItYm9keSAuYWctbWVudS1saXN0ID4gZGl2Omxhc3QtY2hpbGQgPiAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWJvZHkge1xcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItZmlsdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItc2VsZWN0IHtcXG4gICAgbWFyZ2luOiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0ge1xcbiAgICBtYXJnaW46IDAgM3B4IDAgNnB4O1xcbiAgICB3aWR0aDogMTJweDtcXG4gICAgaGVpZ2h0OiAxN3B4O1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0sXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItbGlzdCB7XFxuICAgIGhlaWdodDogMTIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0ge1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWhlYWRlci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZpbHRlciAuYWctZmlsdGVyLWFwcGx5LXBhbmVsIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uIHtcXG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIHtcXG4gICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWdyb3VwIC5hZy1jb2x1bW4tc2VsZWN0LWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLWxhYmVsLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLWdyb3VwLWljb25zLFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1ncm91cC1pY29ucyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1wcmltYXJ5LWNvbHMtbGlzdC1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCA+IGRpdiB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG1hcmdpbjogMCA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCB7XFxuICAgICAgd2lkdGg6IDEwMCU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIHtcXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IGF1dG87XFxuICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XFxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciB7XFxuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cXG4gICAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLXRvb2xwYW5lbC1pbnN0YW5jZSAuYWctZmlsdGVyLXRvb2xwYW5lbC1oZWFkZXIgPiBkaXYge1xcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWJvZHktd3JhcHBlciB7XFxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWZpbHRlci1wYW5lbCAuYWctZmlsdGVyLWFpciB7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICAgICAgcGFkZGluZzogNHB4IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLXBpdm90LW1vZGUtcGFuZWwge1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAgIC1tcy1mbGV4OiBub25lO1xcbiAgICAgICAgICAgICAgZmxleDogbm9uZTsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIC5hZy1waXZvdC1tb2RlLXNlbGVjdCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCAuYWctY29sdW1uLWRyb3AtbGlzdCB7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgPiBkaXYgPiA6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3A6bGFzdC1jaGlsZCB7XFxuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW51bWVyaWMtaGVhZGVyIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhbmVsIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBjb2xvcjogIzMzMzMzMztcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBwYWRkaW5nOiAwIDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFuZWwgPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIHtcXG4gICAgd2lkdGg6IDEycHg7XFxuICAgIGhlaWdodDogMTJweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbi5hZy1kaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtcmlnaHQge1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1ib3R0b20ge1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtcmFuZ2UtY2hhcnQuYWctY2VsbC1yYW5nZS1jaGFydC1jYXRlZ29yeSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgODAsIDgwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXRvcC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgYmxhY2s7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1sdHIgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLXJpZ2h0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkICM3Njc2NzY7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20sIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20ge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjNzY3Njc2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgIzc2NzY3NjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHdpZHRoOiA2cHg7XFxuICAgIGhlaWdodDogNnB4O1xcbiAgICBib3R0b206IC0xcHg7XFxuICAgIHJpZ2h0OiAtMXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWxsLWhhbmRsZSB7XFxuICAgIGN1cnNvcjogY2VsbDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yYW5nZS1oYW5kbGUge1xcbiAgICBjdXJzb3I6IG53c2UtcmVzaXplOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcge1xcbiAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDM3cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZywgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXBvcHVwLWVkaXRvciB7XFxuICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1wb3B1cC1lZGl0b3IgLmFnLWxhcmdlLXRleHRhcmVhIHRleHRhcmVhIHtcXG4gICAgICBoZWlnaHQ6IGF1dG87XFxuICAgICAgcGFkZGluZzogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3QtbGlzdCB7XFxuICAgIHdpZHRoOiAyMDBweDtcXG4gICAgaGVpZ2h0OiAxNjIuNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC12YWx1ZSB7XFxuICAgIHBhZGRpbmc6IDAgNHB4IDAgMTJweDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgaGVpZ2h0OiAyNXB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcXFwiXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWNoLXNlbGVjdCAuYWctcmljaC1zZWxlY3Qtcm93IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWx0ciAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24gYnV0dG9uIHtcXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgaGVpZ2h0OiAxMnB4O1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB3aWR0aDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94Om5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSkge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbnRyYWN0ZWQ6bm90KC5hZy1oaWRkZW4pIH4gLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGVja2JveDpub3QoLmFnLWludmlzaWJsZSkgfiAuYWctZ3JvdXAtY2hlY2tib3gge1xcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0aW9uLWNoZWNrYm94IHNwYW4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctaWNvbi1ncm91cCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLXBpdm90IHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1sZWZ0LWFycm93LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLXJpZ2h0LWFycm93IHtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XFxuICAgIG1pbi1oZWlnaHQ6IDE2cHg7XFxuICAgIHBhZGRpbmc6IDAgMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICBtYXJnaW46IDAgMnB4O1xcbiAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC12ZXJ0aWNhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi10b3A6IDRweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZWxlY3QtYWdnLWZ1bmMtcG9wdXAge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4O1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgaGVpZ2h0OiA3MHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIC5hZy12aXJ0dWFsLWxpc3QtaXRlbTpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JkZTJlNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zZXQtZmlsdGVyLWxpc3QsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUtY29sdW1uLXNlbGVjdC13cmFwcGVyIHtcXG4gICAgd2lkdGg6IGF1dG87IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgPiAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1kYXRhLWNoYW5nZWQtYW5pbWF0aW9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcztcXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxczsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb3ctc3R1YiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20ge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctdG9wLCAuYWctdGhlbWUtZnJlc2ggLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy10b3AgLmFnLXJvdywgLmFnLXRoZW1lLWZyZXNoIC5hZy1mbG9hdGluZy1ib3R0b20gLmFnLXJvdyB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyIHtcXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5O1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBmb250LXNpemU6IDE0cHg7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctbmFtZS12YWx1ZS12YWx1ZSB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zdGF0dXMtYmFyLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1uYW1lLXZhbHVlIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgIHBhZGRpbmctdG9wOiA4cHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiAyMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xcbiAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgcGFkZGluZzogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIHtcXG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNpZGUtYnV0dG9uIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGJvcmRlcjogMDtcXG4gICAgICAgIGNvbG9yOiBibGFjaztcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAwO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2dyZXk7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1zaWRlLWJhciAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXNpZGUtYmFyLmZ1bGwtd2lkdGggLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctc2lkZS1iYXIgLmFnLWNvbHVtbi1kcm9wIHtcXG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXByaW1hcnktY29scy1maWx0ZXItd3JhcHBlciB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCB7XFxuICAgIG1hcmdpbjogMTBweCA1cHg7XFxuICAgIHBhZGRpbmc6IDEwcHggMnB4O1xcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDE2OSwgMTY5LCAxNjksIDAuNSk7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtY29tcG9uZW50IC5hZy1ncm91cC1jb21wb25lbnQtbGFiZWwge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2guYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gICAgLmFnLWRyYWdnaW5nLXJhbmdlLWhhbmRsZSAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZywgLmFnLWRyYWdnaW5nLWZpbGwtaGFuZGxlIC5hZy10aGVtZS1mcmVzaCAuYWctZGlhbG9nIHtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xcbiAgICAgIGhlaWdodDogMjVweDtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgc2Fucy1zZXJpZjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XFxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIHtcXG4gICAgICAgIGhlaWdodDogMjBweDtcXG4gICAgICAgIHdpZHRoOiAyMHB4O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uIC5hZy1pY29uIHtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpob3ZlciwgLmFnLXRoZW1lLWZyZXNoIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbi5hZy1oYXMtcG9wdXAge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XFxuICAgICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctZGlhbG9nLXRpdGxlLWJhciAuYWctZGlhbG9nLXRpdGxlLWJhci1idXR0b25zIC5hZy1kaWFsb2ctYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIge1xcbiAgICAgIGhlaWdodDogMzBweDtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbHRpcCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBwYWRkaW5nOiA1cHg7XFxuICAgIGJvcmRlci13aWR0aDogMXB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXRvb2x0aXAuYWctdG9vbHRpcC1oaWRpbmcge1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQgLmFnLWNoYXJ0LW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1taW5pLXdyYXBwZXIgPiBkaXYuYWctc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbSB7XFxuICAgIGNvbG9yOiBibGFjaztcXG4gICAgZm9udC1zaXplOiAxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6IGJsYWNrOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24ge1xcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xcbiAgICBmb250LWZhbWlseTogXFxcImFnR3JpZENsYXNzaWNcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLXJlYWRvbmx5IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgb3BhY2l0eTogMC41OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5OmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTA1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6YmVmb3JlLCAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29sdW1uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb2x1bW5zOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1jb250cmFjdGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZ3JvdXAtZXhwYW5kZWQgLmFnLWljb24tY29udHJhY3RlZDplbXB0eTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY29weTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tY3Jvc3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBDXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWN1dDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MERcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGF0YTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZGVzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXhwYW5kZWQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWV5ZS1zbGFzaDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tZXllOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1maWx0ZXI6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTEzXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWZpcnN0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNFxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncmlwOmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJvdy1kcmFnOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1ncm91cDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTZcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24taW5kZXRlcm1pbmF0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTdcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGFzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MThcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbGVmdDpiZWZvcmUsIC5hZy10aGVtZS1mcmVzaCAuYWctcmlnaHQtYXJyb3c6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE5XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLWxvYWRpbmc6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFBXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW1heGltaXplOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1tZW51OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1taW5pbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MURcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tbWludXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5leHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vbmU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIwXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLW5vdC1hbGxvd2VkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1wYXN0ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGluOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi1waXZvdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjRcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcGx1czpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjVcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcHJldmlvdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vbiB7XFxuICAgIGNvbG9yOiBibGFjazsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLWZyZXNoIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtZnJlc2ggLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLWZyZXNoIC5hZy1ydGwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2dyZXk7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctcnRsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLnNhc3MtdmFyaWFibGVzOjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd7IFxcXCJhdXRvU2l6ZVBhZGRpbmdcXFwiOiBcXFwiMTJweFxcXCIsIFxcXCJoZWFkZXJIZWlnaHRcXFwiOiBcXFwiMjVweFxcXCIsIFxcXCJncm91cFBhZGRpbmdTaXplXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiZm9vdGVyUGFkZGluZ0FkZGl0aW9uXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwidmlydHVhbEl0ZW1IZWlnaHRcXFwiOiBcXFwiMjBweFxcXCIsIFxcXCJhZ2dGdW5jUG9wdXBIZWlnaHRcXFwiOiBcXFwiNzBweFxcXCIsIFxcXCJjaGVja2JveEluZGVudFdpZHRoXFxcIjogXFxcIjE2cHhcXFwiLCBcXFwibGVhZk5vZGVQYWRkaW5nXFxcIjogXFxcIjEycHhcXFwiLCBcXFwicm93SGVpZ2h0XFxcIjogXFxcIjI1cHhcXFwiLCBcXFwiZ3JpZFNpemVcXFwiOiBcXFwiNHB4XFxcIiwgXFxcImljb25TaXplXFxcIjogXFxcIjEycHhcXFwiIH0nO1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWZhZGVkIHtcXG4gICAgb3BhY2l0eTogMC4zOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwuYWctY29sdW1uLWRyb3Age1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsLmFnLWNvbHVtbi1kcm9wOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1yZXNpemU6OmFmdGVyIHtcXG4gICAgaGVpZ2h0OiAyNXB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWhlYWRlci1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWdyb3VwLWNlbGwge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1yb290IHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGFzLWZvY3VzIC5hZy1jZWxsLWZvY3VzOm5vdCguYWctY2VsbC1yYW5nZS1zZWxlY3RlZCkge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi1hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRlMmU1OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlY2YwZjE7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20od2hpdGUpLCB0byhsaWdodGdyZXkpKTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHdoaXRlLCBsaWdodGdyZXkpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgbWluLWhlaWdodDogMThweDsgfVxcbiAgICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1mcmVzaCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b246aG92ZXIge1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmV5OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpO1xcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFya2dyZWVuOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNlbGwtaGlnaGxpZ2h0LWFuaW1hdGlvbiB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXM7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctY2VsbC1pbmxpbmUtZWRpdGluZyB7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMjBweDsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1oZWFkZXItY29udGFpbmVyIHtcXG4gICAgaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5pdGlhbDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLXNlbGVjdGlvbi1jaGVja2JveCBzcGFuIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICB0b3A6IDA7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctcmljaC1zZWxlY3QtdmFsdWUge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2dyZXk7IH1cXG4gIC5hZy10aGVtZS1mcmVzaCAuYWctaGVhZGVyLWNlbGwtbW92aW5nIC5hZy1oZWFkZXItY2VsbC1sYWJlbCB7XFxuICAgIG9wYWNpdHk6IDAuNTsgfVxcbiAgLmFnLXRoZW1lLWZyZXNoIC5hZy1oZWFkZXItY2VsbC1tb3Zpbmcge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViZWJlOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcXG4gICAgY29sb3I6IGJsYWNrO1xcbiAgICBwYWRkaW5nOiAxMHB4OyB9XFxuICAuYWctdGhlbWUtZnJlc2ggLmFnLWNvbHVtbi1uYW1lLWZpbHRlciB7XFxuICAgIGhlaWdodDogMTZweDsgfVxcblxcblwiIiwibW9kdWxlLmV4cG9ydHMgPSBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImFnR3JpZE1hdGVyaWFsXFxcIjtcXG4gIHNyYzogdXJsKFxcXCJkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZzhTQmxJQUFBQzhBQUFBWUdOdFlYQVhWdEs1QUFBQkhBQUFBRlJuWVhOd0FBQUFFQUFBQVhBQUFBQUlaMng1Wm1JSkh1d0FBQUY0QUFBUTdHaGxZV1FVK2lPakFBQVNaQUFBQURab2FHVmhCNGtEK0FBQUVwd0FBQUFrYUcxMGVOSUFKaXdBQUJMQUFBQUEzR3h2WTJGMEpIaENBQUFUbkFBQUFIQnRZWGh3QUVFQVdBQUFGQXdBQUFBZ2JtRnRaV2gwUE9VQUFCUXNBQUFCMm5CdmMzUUFBd0FBQUFBV0NBQUFBQ0FBQXdQMkFaQUFCUUFBQXBrQ3pBQUFBSThDbVFMTUFBQUI2d0F6QVFrQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEcE1nUEEvOEFBUUFQQUFFQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBREFBQUFIQUFEQUFFQUFBQWNBQVFBT0FBQUFBb0FDQUFDQUFJQUFRQWc2VEwvL2YvL0FBQUFBQUFnNlFELy9mLy9BQUgvNHhjRUFBTUFBUUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBUUFBYXdNQUF4VUFDd0FBQVNFVkNRRVZJVFVoTnljaEF3RCtBQUVWL3VzQ0FQN1YxdFlCS3dNVlZmOEEvd0JWZ05YVkFBQUFBQVFBT2YvNUE4Y0Rod0FIQUE4QUZ3QWZBQUFCTXpVekp3Y3pGUWNqTlFjWE5UTTFCU2NWSXhVekZUY0ZJeFVqRnpjak5RR3JxbkxIeDNJNWNzZkhjZ0pWeDNKeXgvNk9xbkxIeDNJQ1RuTEh4M0k1Y3NmSGNxcFZ4M0txY3NlT2NzZkhjZ0FCQUtzQWF3TlZBeFVBQ1FBQUV4YzNFVE1SRnpjSkFhczg3bGJ1UFA2ci9xc0J3RHp1L2ZrQ0IrODlBVlgrcXdBQ0FGVUFGUU9yQTJzQUhBQW9BQUFCSWdjT0FRY0dGUlFYSGdFWEZqTXlOejRCTnpZMU5DY3VBU2NtSXhNSEp3Y25OeWMzRnpjWEJ3SUFXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WTFUeVptVHlabVR5Wm1UeVpBMnNpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDl2RHlabVR5Wm1UeVptVHlaQUFBQUF3RFZBSlVES3dMckFBUUFDUUFOQUFBVE14RWpFVGN6RVNNUkV6TVJJOVdBZ085NGVPOTRlQUkzL2w0Qm9yVDlxZ0pXL3FyL0FBQUNBSUFBUUFPQUEwQUFEd0FXQUFBQklTSUdGUkVVRmpNaE1qWTFFVFFtQVNjM0Z3RVhBUU1yL2Fvak1qSWpBbFlqTWpMK1hkWThtZ0ZFUFA2QUEwQXlJLzJxSXpJeUl3SldJekw5cTlVOG1RRkVQUDZBQUFBQUFnQ0FBRUFEZ0FOQUFBOEFFd0FBQVNFaUJoVVJGQll6SVRJMk5SRTBKZ01oTlNFREsvMnFJekl5SXdKV0l6SXllZjVXQWFvRFFESWovYW9qTWpJakFsWWpNdjVWVmdBQUFnQ0FBRUFEZ0FOQUFBTUFFd0FBQVJFaEVTVWhJZ1lWRVJRV015RXlOalVSTkNZREsvMnFBbGI5cWlNeU1pTUNWaU15TWdMci9hb0NWbFV5SS8ycUl6SXlJd0pXSXpJQUFnQ3JBR3NCVlFNVkFBTUFCd0FBSlNNUk16VVZJelVCVmFxcXFtc0IvNnRYVndBQUNRQ3JBR3NEVlFNVkFBTUFDQUFNQUJBQUZRQVpBQjRBSWdBbUFBQVRNelVqQVRNMUl4VWhNelVqTlRNMUl3VXpOU01WQVJVek5RVXpOU01WQVRNMUl4RXpOU09ycXFvQkFLcXEvd0NxcXFxcUFRQ3FxZ0VBcXY1V3Fxb0JBS3FxcXFvQ2E2cjlWcXFxcWxhcXFxcXFBYXFxcXFxcXF2OEFxdjVXcWdBQUFBQUJBV0lBd0FLZUFzQUFCZ0FBQVNjSkFUY25Od0tlUFA4QUFRQTh3OE1DaER6L0FQOEFQTVRFQUFBQUFBTUFhLy9yQTVVRGxRQUlBQmtBSFFBQUFTRWlCaFVSTXhFaEZ5RWlCaFVSRkJZeklUSTJOUkUwSmlNUklSRWhBc0QrQUNNeVZRSUFnUDRySkRJeUpBSFZJekl5SS80ckFkVURsVElqL2FzQ1ZWVXlKUDJySXpJeUl3SlZKREw5VlFKVkFBQUJBTlVBbFFNckF1c0FEQUFBQVNjSEp3Y1hCeGMzRnpjbk53TXJQTy92UE8vdlBPL3ZQTy92QXE4ODcrODg3Kzg4Nys4ODcrOEFBQVVBVlFBVkE2c0Rhd0FsQURJQVB3QkxBRkVBQUFFK0FUVTBKaU1pQmhVVUZqTXlOamNYQnk0Qkl5SUdGUlFXTXpJMk5UUW1KemNCTXpVQkJ5SW1OVFEyTXpJV0ZSUUdJeEVpSmpVME5qTXlGaFVVQmlNQklpWTFORFl6TWhZVkZBWUpBUmNCTlNNQm13Z0laRWRIWkdSSEV5TVFaV1VRSXhOSFpHUkhSMlFJQ0dVQks0RDk4SnNqTWpJakl6SXlJeU15TWlNak1qSWpBUUFKREF3SkNRd01BU0wvQUZVQks0QUNlaEFqRTBka1pFZEhaQWdJWldVSUNHUkhSMlJrUnhNakVHWCsxU3NDRHc4eEpDUXhNU1FrTWY0QU1TUWtNVEVrSkRFQlFBd0pDUXdNQ1FrTUFaWC9BRlVCS2lzQUFBY0Fsd0MvQTJrQ3dRQU1BQkFBSFFBaEFDMEFPZ0ErQUFBVElnWVZGQll6TWpZMU5DWWpCVFVoRlFNaUJoVVVGak15TmpVMEppTUZJVFVoQlRJV0ZSUUdJeUltTlRRMk56SVdGUlFHSXlJbU5UUTJNd1VoTlNIQ0Voa1pFaElaR1JJQ3AvM1hmaElaR1JJU0dSa1NBZEwrckFGVS9pNE5FeE1ORFJNVERSSVpHUklTR1JrU0FxZjkxd0lwQVJVWkVoRWFHaEVTR1ZWV1ZnRXJHUklTR1JrU0VobFZWUXNURFEwVEV3ME5FK0VhRVJJWkdSSVJHbFpWQUFBQUFRQ3JBR3NEVlFNVkFBa0FBQUVuQnhFakVTY0hDUUVEVlR6dVZ1NDhBVlVCVlFIQVBPNENCLzM1N3ozK3F3RlZBQUFBQUFFQllnREFBcDRDd0FBR0FBQUJCeGNIRndrQkFaNDh3OE04QVFEL0FBTEFQTVRFUEFFQUFRQUFBQUFBQVFDVEFNY0RiUUs1QUVjQUFBRXVBU01pQmdjblBnRXpNaGNlQVJjV0Z3NEJCeWMrQVRjakRnRUhKeU1YRGdFaklpWW5JeDRCTXpJMk54Y09BU01pSnk0Qkp5WW5QZ0UzRnc0QkJ6TW5QZ0V6TWhZWE13S2pDbHc5SWowV1R5dGpOajQ1T1Y4a0pSVVlXRGxQRWhnRlJBUU5DQ3RRUmdRSkJTSTFDVVFLWEQ0VEl4QklJVWNtUGprNVh5UWxGUk0rS0Y0RkJnS0dLUTBrRlNJMENVUUIzVHBQR2hkUEdSd1RFa0l1TFRjK1pTRlBFaTBhREJVSktrWUJBU2tmT2xBSUNFZ05EaE1TUWk0dE56QlVJRjRLRkFzcURSQW9Id0FBQXdDVEFNY0RiUUs1QUJ3QUtBQTFBQUFCSWdjT0FRY0dCeFlYSGdFWEZqTXlOejRCTnpZM0ppY3VBU2NtSXhFaUpqVTBOak15RmhVVUJnTWlCaFVVRmpNeU5qVTBKaU1DQUQ0NU9WOGtKUlVWSlNSZk9UaytQams1WHlRbEZSVWxKRjg1T1Q1RllXRkZSV0ZoUlNrN095a3BPenNwQXJrVEVrSXVMVGMzTFM1Q0VoTVRFa0l1TFRjM0xTNUNFaFArWVdGRlJXRmhSVVZoQVFvN0tTazdPeWtwT3dBREFJQUF3QU9BQXNBQUJBQUlBQXdBQUNVek5TTVZBUlVoTlFFaE5TRUJxNnFxL3RVREFQMkFBZ0QrQU1CVlZRSUFWVlgrMVZZQUFBSUE5d0RBQXdrQ3dBQUZBQW9BQUNVbk55Y0pBUUV6RVNNUkF3bkV4RHovQUFFQS9pcFdWdnpFeER6L0FQOEFBZ0QrQUFJQUFBQUFBZ0NyQVVBRFZRSkFBQU1BQ0FBQUFTRVZJUVVoTlNFVkExWDlWZ0txL1ZZQ3F2MVdBa0JWcTFWVkFBQUdBSTRBcEFOeUF0d0FCZ0FMQUJJQUZnQWFBQ0FBQUFFaEZBWXJBVFVsRlNFMUlTY3lGaFVoTlNFQkl6VXpOU00xTXljak5EWXpGUUpWQVIxREw2c0JIZjdqQVIxeUwwUCtBQUdPL3VSeWNuSnk1SEpETHdFVkwwSng1SEp5NDBJdmNmM0ljWEp5Y2k5Q2NRQUNBSk1BeHdOdEFya0FIQUFvQUFBQklnY09BUWNHQnhZWEhnRVhGak15Tno0Qk56WTNKaWN1QVNjbUl4RWlKalUwTmpNeUZoVVVCZ0lBUGprNVh5UWxGUlVsSkY4NU9UNCtPVGxmSkNVVkZTVWtYems1UGtWaFlVVkZZV0VDdVJNU1FpNHROemN0TGtJU0V4TVNRaTR0TnpjdExrSVNFLzVoWVVWRllXRkZSV0VBQUFBQ0FQY0F3QU1KQXNBQUJnQUtBQUFURndjWENRRUhKVE1SSS9mRXhEd0JBUDhBUEFHOFZsWUNoTVRFUEFFQUFRQThQUDRBQUFBQUFBRUFxd0JyQTFVREZRQUpBQUFCSVRjbkNRRTNKeUUxQTFYOStlODkvcXNCVlR6dUFnY0I2KzQ4L3F2K3F6enVWZ0FBQUFBQ0FPUUFwQU1jQXR3QUhBQW1BQUFCTnhjSE14VWpIZ0VYQnljVkl6VUhKemNqTlRNbk54NEJGelV6RlFjek56VW5Jd2NWSGdFQ09XaFFhSk9UR2pRYVVHaHlhRkJvazVOb1VCbzBHbkpvWGtORFhrTVJJUUpKYUZCb2NobzBHbEJvazVOb1VHaHlhRkFhTkJxVGsvdERYa05EWGhFaEFBQUJBSUFDNndPQUEwQUFBd0FBRXlFVklZQURBUDBBQTBCVkFBQUFBd0NBQU1BRGdBTEFBQU1BQndBTEFBQTNJVFVoTlNFMUlUVVZJVFdBQXdEOUFBTUEvUUFEQU1CVmdGYlZWVlVBQVFFQUFFQURBQUNWQUFNQUFDVWhGU0VCQUFJQS9nQ1ZWUUFBQUFFQTFRR1ZBeXNCNndBRUFBQVRJUlVoTmRVQ1Z2MnFBZXRXVmdBQkFXSUF3QUtlQXNBQUJnQUFBUWNYQnhjSkFRR2VQTVBEUEFFQS93QUN3RHpFeER3QkFBRUFBQUFBQUFNQWdBREFBNEFDd0FBREFBY0FDd0FBTnlFMUlSRVZJVFVCSVRVaGdBSUEvZ0FEQVAwQUF3RDlBTUJWQWF0VlZmN1ZWZ0FEQUZVQUZRT3JBMnNBSEFBcUFEa0FBQUVpQnc0QkJ3WVZGQmNlQVJjV016STNQZ0UzTmpVMEp5NEJKeVlqQVRRM1BnRTNOak15RmhjQkxnRUJJaVluQVI0QkZSUUhEZ0VIQmlNQ0FGaE9UblFoSWlJaGRFNU9XRmhPVG5RaElpSWhkRTVPV1A2ckdodGRQajVITzJzci9pSWlKZ0ZWTzJzckFkNGlKaG9iWFQ0K1J3TnJJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlXRTVPZENFaS9sVkhQajVkR3hvbUl2NGlLMnYrNWlZaUFkNHJhenRIUGo1ZEd4b0FBQU1BZ1AvckE0QURsUUFYQUNNQUt3QUFBU011QVNNaUJnY2pJZ1lWRVJRV015RXlOalVSTkNZaklUSVdGUlFHSXlJbU5UUTJBU0VSTXhVaE5UTURLN01OUVNvcVFRMnpJekl5SXdKV0l6SXlJLzdWRWhrWkVoSVpHUUU5L2FwV0FhcFdBMEFsTURBbE1pUDlWU015TWlNQ3F5TXlHUklSR1JrUkVobjlBQUtyZ0lBQUFBSUFyUUJ2QTFNREVRQUdBQk1BQUNVSEp6Y2VBUmNUQVFjbkJ4Y0hKemNYTnljM0FXT09LSTRLRkFxOEFUUWZIdmMrV1BaWVBYc2VIdjJPS0k0S0ZBb0NGUDdNSGg1N1BWajJXRDczSGg4QUNRQTUvL2tEeHdPSEFBOEFFd0FZQUNFQUpRQXVBRElBTmdBNkFBQUZJU0ltTlJFME5qTWhNaFlWRVJRR0FTTVZNd0VoRVNFUkJRY1hCeWMzSGdFWEp5TVZNeVVISndjbk54NEJGd0VqRlRNbEl4VXpOeU1WTXdOVi9WWXZRME12QXFvdlEwUDkwYXFxQWdEK09RSEgvdHhDUWlscGFRb1ZDdHlxcWdINEtFRkNLR29hTlJyK0NLcXFBUjNrNU9PcXFnZERMd0txTDBOREwvMVdMME1CSEtvQmp2NXlBWTdiUWtFb2FXb0tGQXJicXpFb1FVRW9hUm8xR2dHV3FxcXFxcW9BQUFFQTFRQ1ZBeXNDNndBTEFBQUJJUkVqRVNFMUlSRXpFU0VESy84QVZ2OEFBUUJXQVFBQmxmOEFBUUJXQVFEL0FBQUFBQUFCQVdJQXdBS2VBc0FBQmdBQUFTY0pBVGNuTndLZVBQOEFBUUE4dzhNQ2hEei9BUDhBUE1URUFBQUFBQUlBVlFBVkE2c0Rhd0FjQURnQUFBRWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBV0U1T2RDRWlJaUYwVGs1WVdFNU9kQ0VpSWlGMFRrNVlSejQrWFJzYUdodGRQajVIUno0K1hSc2FHaHRkUGo0RGF5SWhkRTVPV0ZoT1RuUWhJaUloZEU1T1dGaE9UblFoSXYwQUdodGRQajVIUno0K1hSc2FHaHRkUGo1SFJ6NCtYUnNhQUFBQUF3QlZBQlVEcXdOckFCd0FPUUJWQUFBQklnY09BUWNHRlJRWEhnRVhGak15Tno0Qk56WTFOQ2N1QVNjbUl6VWlCdzRCQndZVkZCY2VBUmNXTXpJM1BnRTNOalUwSnk0Qkp5WWpFU0luTGdFbkpqVTBOejRCTnpZek1oY2VBUmNXRlJRSERnRUhCZ0lBTENjbk9oRVFFQkU2Snljc0xDY25PaEVRRUJFNkp5Y3NXRTVPZENFaUlpRjBUazVZV0U1T2RDRWlJaUYwVGs1WVJ6NCtYUnNhR2h0ZFBqNUhSejQrWFJzYUdodGRQajRDbFJBUk9pY25MQ3duSnpvUkVCQVJPaWNuTEN3bkp6b1JFTllpSVhST1RsaFlUazUwSVNJaUlYUk9UbGhZVGs1MElTTDlBQm9iWFQ0K1IwYytQbDBiR2hvYlhUNCtSMGMrUGwwYkdnQUFBQUVBcXdCckExVURGUUFKQUFBQkJ4Y2hGU0VIRndrQkFnQTg3djM1QWdmdVBBRlYvcXNERlR6dVZ1NDhBVlVCVlFBQUFBQUNBSUFBUUFPQUEwQUFEZ0FZQUFBQkVTRVJJeEVVRmpNaE1qWTFFU01GTnhjSEp6Y1hFVE1SQXl2OXFsVXlJd0pXSXpKVi93QnVQTlhWUEc1V0FjRCsxUUVyL3RVak1qSWpBU3NkYmp6VjFUeHVBWjMrWXdBQUFRRXJBVlVDMVFJckFBTUFBQUVYTnlFQks5WFYvbFlDSzliV0FBRUJsUURyQW1zQ2xRQURBQUFCQnhjUkFtdlcxZ0tWMWRVQnFnQUJBWlVBNndKckFwVUFBd0FBSlRjbkVRR1YxdGJyMWRYK1ZnQUFBUUVyQVZVQzFRSXJBQU1BQUFFM0Z5RUJLOVhWL2xZQlZkYldBQUVBaVFDaUEzY0MzZ0FGQUFBQkp3Y1hBU2NCZDdJODdnSUFQQUVic2ozdUFnQThBQUVCWWdEQUFwNEN3QUFHQUFBQkJ4Y0hGd2tCQVo0OHc4TThBUUQvQUFMQVBNVEVQQUVBQVFBQUFBQUFBUURWQVpVREt3SHJBQVFBQUJNaEZTRTExUUpXL2FvQjYxWldBQUVCQUFFaUF3QUNYZ0FGQUFBQkJ5Y0hDUUVDeE1URVBBRUFBUUFDWHNQRFBQOEFBUUFBQUFBQkFBQUFBUUFBbHBHZlRWOFBQUFVBQ3dRQUFBQUFBTmtKNzVNQUFBQUEyUW52a3dBQS8rc0R4d09WQUFBQUNBQUNBQUFBQUFBQUFBRUFBQVBBLzhBQUFBUUFBQUFBQUFQSEFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBM0JBQUFBQUFBQUFBQUFBQUFBZ0FBQUFRQUFRQUVBQUE1QkFBQXF3UUFBRlVFQUFEVkJBQUFnQVFBQUlBRUFBQ0FCQUFBcXdRQUFLc0VBQUZpQkFBQWF3UUFBTlVFQUFCVkJBQUFsd1FBQUtzRUFBRmlCQUFBa3dRQUFKTUVBQUNBQkFBQTl3UUFBS3NFQUFDT0JBQUFrd1FBQVBjRUFBQ3JCQUFBNUFRQUFJQUVBQUNBQkFBQkFBUUFBTlVFQUFGaUJBQUFnQVFBQUZVRUFBQ0FCQUFBclFRQUFEa0VBQURWQkFBQllnUUFBRlVFQUFCVkJBQUFxd1FBQUlBRUFBRXJCQUFCbFFRQUFaVUVBQUVyQkFBQWlRUUFBV0lFQUFEVkJBQUJBQUFBQUFBQUNnQVVBQjRBT2dCc0FJUUF5QURrQVJBQk5BRllBV29CcWdIQUFmSUNEZ0tHQXVRQy9nTVVBNEFEMGdQdUJBb0VJQVJXQkpnRXRBVE9CUW9GR0FVd0JUNEZUQVZpQlh3RjJnWWNCa1FHcGdiQUJ0WUhMZ2V1QjhnSDlBZ0NDQkFJSGdnc0NENElWQWhpQ0hZQUFRQUFBRGNBVmdBSkFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBNEFBQUFCQUFBQUFBQUNBQWNBbndBQkFBQUFBQUFEQUE0QVN3QUJBQUFBQUFBRUFBNEF0QUFCQUFBQUFBQUZBQXNBS2dBQkFBQUFBQUFHQUE0QWRRQUJBQUFBQUFBS0FCb0EzZ0FEQUFFRUNRQUJBQndBRGdBREFBRUVDUUFDQUE0QXBnQURBQUVFQ1FBREFCd0FXUUFEQUFFRUNRQUVBQndBd2dBREFBRUVDUUFGQUJZQU5RQURBQUVFQ1FBR0FCd0Fnd0FEQUFFRUNRQUtBRFFBK0dGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRlpsY25OcGIyNGdNUzR3QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1HRm5SM0pwWkUxaGRHVnlhV0ZzQUdFQVp3QkhBSElBYVFCa0FFMEFZUUIwQUdVQWNnQnBBR0VBYkdGblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRkpsWjNWc1lYSUFVZ0JsQUdjQWRRQnNBR0VBY21GblIzSnBaRTFoZEdWeWFXRnNBR0VBWndCSEFISUFhUUJrQUUwQVlRQjBBR1VBY2dCcEFHRUFiRVp2Ym5RZ1oyVnVaWEpoZEdWa0lHSjVJRWxqYjAxdmIyNHVBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPVxcXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7IH1cXG5cXG4uYWctdGhlbWUtbWF0ZXJpYWwge1xcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgbGluZS1oZWlnaHQ6IDE7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiLmFnLXRhYi1zZWxlY3RlZCB7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgbGFiZWwge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgKiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAqOmZvY3VzLCAuYWctdGhlbWUtbWF0ZXJpYWwgKiAqOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsICogKjphZnRlciB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYiB7XFxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctbGVmdDogNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTMwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTU2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNiB7XFxuICAgIHBhZGRpbmctbGVmdDogMjUycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTYge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNyB7XFxuICAgIHBhZGRpbmctbGVmdDogMjk0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOCB7XFxuICAgIHBhZGRpbmctbGVmdDogMzM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMzZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzc4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNDIwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTExIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyODZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ2MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMzEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xMyB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTEzIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU4OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xNSB7XFxuICAgIHBhZGRpbmctbGVmdDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMzkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTYge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjcycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTE3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0xNyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDcxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0xOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNDY4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMTgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMTkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDQ5NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0xOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTE5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzk4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MjBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDg0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yMSB7XFxuICAgIHBhZGRpbmctbGVmdDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1yaWdodDogNTQ2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA4ODJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDU3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC0yMiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTIyIHtcXG4gICAgcGFkZGluZy1yaWdodDogOTI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTIzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiA1OThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMjMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC0yMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk2NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNCB7XFxuICAgIHBhZGRpbmctbGVmdDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTAwOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNSB7XFxuICAgIHBhZGRpbmctbGVmdDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDUwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA1MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNiB7XFxuICAgIHBhZGRpbmctbGVmdDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogNjc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDkycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yNyB7XFxuICAgIHBhZGRpbmctbGVmdDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTEzNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTc2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE3NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0yOSB7XFxuICAgIHBhZGRpbmctbGVmdDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogNzU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTI5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTIxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMCB7XFxuICAgIHBhZGRpbmctbGVmdDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogNzgwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjYwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI2MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMSB7XFxuICAgIHBhZGRpbmctbGVmdDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogODA2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTMwMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMiB7XFxuICAgIHBhZGRpbmctbGVmdDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogODMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMyIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM0NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zMyB7XFxuICAgIHBhZGRpbmctbGVmdDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogODU4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMzg2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTMzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTM4NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNCB7XFxuICAgIHBhZGRpbmctbGVmdDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogODg0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDI4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQyOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNSB7XFxuICAgIHBhZGRpbmctbGVmdDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTEwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNDcwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM1IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTQ3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNiB7XFxuICAgIHBhZGRpbmctbGVmdDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTM2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTEycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTUxMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zNyB7XFxuICAgIHBhZGRpbmctbGVmdDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTYycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTU0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU1NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOCB7XFxuICAgIHBhZGRpbmctbGVmdDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogOTg4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTM4IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTU5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTAxNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC0zOSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMTRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE2MzhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtMzkge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNjM4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMDQwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQwIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTY4MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2ODBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEwNjZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDY2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNzIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQxIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTcyMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTA5MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00MiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEwOTJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE3NjRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNzY0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTE4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQzIHtcXG4gICAgcGFkZGluZy1yaWdodDogMTExOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctbGVmdDogMTgwNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00MyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE4MDZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDExNDRweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTQ0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxODQ4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ0IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTg0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctbGVmdDogMTE3MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00NSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDExNzBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDE4OTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxODkwcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMTk2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ2IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTE5NnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctbGVmdDogMTkzMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00NiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE5MzJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMjJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2xwYW5lbC1pbmRlbnQtNDcge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjIycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxOTc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtaW5kZW50LTQ3IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTk3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctbGVmdDogMTI0OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctdG9vbHBhbmVsLWluZGVudC00OCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEyNDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1sdHIgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy1ncm91cC1pbmRlbnQtNDgge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxMjc0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29scGFuZWwtaW5kZW50LTQ5IHtcXG4gICAgcGFkZGluZy1yaWdodDogMTI3NHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjA1OHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctcm93LWdyb3VwLWluZGVudC00OSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIwNThweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsIC5hZy1pY29uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbDplbXB0eSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbDplbXB0eSB7XFxuICAgICAgbWFyZ2luOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhZGlvLWJ1dHRvbi1sYWJlbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctcm93LWdyb3VwLWxlYWYtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1maXJzdC1yaWdodC1waW5uZWQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1yb3cuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbDpub3QoLmFnLWNlbGwtZm9jdXMpLmFnLWNlbGwtbGFzdC1sZWZ0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yb3ctZ3JvdXAtbGVhZi1pbmRlbnQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGw6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLWZpcnN0LXJpZ2h0LXBpbm5lZCB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXJvdy5hZy1jZWxsLWxhc3QtbGVmdC1waW5uZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1sYXN0LWxlZnQtcGlubmVkIHtcXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtZGVsdGEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLXVwIHtcXG4gICAgY29sb3I6ICM0M2EwNDc7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLWRlbHRhLWRvd24ge1xcbiAgICBjb2xvcjogI2U1MzkzNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy12YWx1ZS1jaGFuZ2UtdmFsdWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgcGFkZGluZy1yaWdodDogMXB4O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdmFsdWUtY2hhbmdlLXZhbHVlLWhpZ2hsaWdodCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjYzE7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0sXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdIHtcXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDQwcHg7XFxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XFxuICAgIGJvcmRlci13aWR0aDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl06Zm9jdXMsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXTpmb2N1cyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzZjUxYjU7XFxuICAgICAgb3V0bGluZTogbm9uZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1vei1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjotbW96LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dDpub3QoW3R5cGVdKTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXTo6cGxhY2Vob2xkZXIsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZVxcXCJdOjpwbGFjZWhvbGRlcixcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwiZGF0ZXRpbWUtbG9jYWxcXFwiXTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRlbFxcXCJdOmRpc2FibGVkLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl06ZGlzYWJsZWQsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl06ZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl0ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYSB7XFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiA0MHB4O1xcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmZvY3VzIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgICBvdXRsaW5lOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pbnB1dC10ZXh0LXdyYXBwZXIgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaW5wdXQtdGV4dC13cmFwcGVyIHRleHRhcmVhOmRpc2FibGVkIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWlucHV0LXRleHQtd3JhcHBlciB0ZXh0YXJlYTpkaXNhYmxlZCB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1waW5uZWQtcmlnaHQtaGVhZGVyIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBpbm5lZC1sZWZ0LWhlYWRlciB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXJvdyB7XFxuICAgIGJvcmRlcjogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3cge1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6ICNlMmUyZTI7XFxuICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdzpub3QoLmFnLXJvdy1maXJzdCkge1xcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJvdy5hZy1yb3ctbGFzdCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtbGVmdC1zcGFjZXIge1xcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaG9yaXpvbnRhbC1sZWZ0LXNwYWNlci5hZy1zY3JvbGxlci1jb3JuZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ob3Jpem9udGFsLXJpZ2h0LXNwYWNlciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhvcml6b250YWwtcmlnaHQtc3BhY2VyLmFnLXNjcm9sbGVyLWNvcm5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1udW1lcmljLWNlbGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1sYWJlbCAuYWctaGVhZGVyLWljb24ge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC5hZy1oZWFkZXItY2VsbC1tb3ZpbmcsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGwuYWctaGVhZGVyLWNlbGwtbW92aW5nIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCksXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1oZWFkZXItZ3JvdXAtY2VsbC1uby1ncm91cCkge1xcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItY2VsbCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItcm93OmZpcnN0LWNoaWxkIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1ncm91cC1jZWxsOmhvdmVyLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1ncm91cC1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItZ3JvdXAtY2VsbC5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOm5vdCguYWctY29sdW1uLXJlc2l6aW5nKSArIC5hZy1oZWFkZXItY2VsbDpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWNlbGw6bm90KC5hZy1jb2x1bW4tcmVzaXppbmcpICsgLmFnLWhlYWRlci1jZWxsLmFnLWNvbHVtbi1yZXNpemluZyxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZTpob3ZlcixcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLWdyb3VwLWNlbGw6Zmlyc3Qtb2YtdHlwZS5hZy1jb2x1bW4tcmVzaXppbmcsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6aG92ZXIsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUuYWctY29sdW1uLXJlc2l6aW5nIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItY2VsbC1yZXNpemUge1xcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbCB7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWcge1xcbiAgICBjdXJzb3I6IG1vdmU7XFxuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xcbiAgICBjdXJzb3I6IGdyYWI7XFxuICAgIG1pbi13aWR0aDogNDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcm93LWRyYWdnaW5nIC5hZy1yb3ctZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgIGN1cnNvcjogbW92ZTtcXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XFxuICAgIGN1cnNvcjogZ3JhYjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctZHJhZ2dpbmcge1xcbiAgICBvcGFjaXR5OiAwLjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXM6bm90KC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkKSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1oYXMtZm9jdXMgLmFnLWNlbGwtZm9jdXMuYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLWZvY3VzLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwuYWctY2VsbC1yYW5nZS1oYW5kbGUge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICBvdXRsaW5lOiBpbml0aWFsOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLXJlc2l6ZSB7XFxuICAgIHdpZHRoOiAxNnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4O1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1saXN0IHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLWRpc2FibGVkIHtcXG4gICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LW9wdGlvbi10ZXh0IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24taWNvbiB7XFxuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgIG1pbi13aWR0aDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUgLmFnLW1lbnUtb3B0aW9uLXNob3J0Y3V0IHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciB7XFxuICAgICAgaGVpZ2h0OiAxNnB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51IC5hZy1tZW51LXNlcGFyYXRvciA+IHNwYW4ge1xcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QnMSclMjBoZWlnaHQlM0QnMTZweCclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMSUyMDE2cHgnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUzRSUzQ2xpbmUlMjB4MSUzRCcwJyUyMHkxJTNEJzhweCclMjB4MiUzRCcxJyUyMHkyJTNEJzhweCclMjBzdHJva2Utd2lkdGglM0QnMSclMjBzdHJva2UlM0QnJTIzRTJFMkUyJyUyRiUzRSUzQyUyRnN2ZyUzRVxcXCIpOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbWVudSAuYWctbWVudS1vcHRpb24tcG9wdXAtcG9pbnRlciB7XFxuICAgICAgd2lkdGg6IDM0cHg7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICBoZWlnaHQ6IDU2cHggIWltcG9ydGFudDtcXG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMCAxNnB4O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsLmFnLWRuZC1naG9zdCBzcGFuLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctZG5kLWdob3N0IGRpdiB7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbC5hZy1kbmQtZ2hvc3QgLmFnLWRuZC1naG9zdC1pY29uIHtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcXG4gICAgICBvcGFjaXR5OiAwLjg3OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1oZWFkZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWhlYWRlciAuYWctdGFiIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gICAgICBoZWlnaHQ6IDMycHg7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgICAgLW1zLWZsZXg6IG5vbmU7XFxuICAgICAgICAgICAgICBmbGV4OiBub25lO1xcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkge1xcbiAgICBwYWRkaW5nOiA4cHggMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3Qge1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdGFiLWJvZHkgLmFnLW1lbnUtbGlzdCA+IGRpdjpmaXJzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRhYi1ib2R5IC5hZy1tZW51LWxpc3QgPiBkaXY6bGFzdC1jaGlsZCA+IC5hZy1tZW51LW9wdGlvbi1wb3B1cC1wb2ludGVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3QsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYm9keSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgbWFyZ2luLXRvcDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1maWx0ZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1zZWxlY3Qge1xcbiAgICBtYXJnaW46IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSB7XFxuICAgIG1hcmdpbjogMCAzcHggMCA2cHg7XFxuICAgIHdpZHRoOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDE3cHg7XFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIGlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSB7XFxuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbHRlciAuYWctc2V0LWZpbHRlci1saXN0IHtcXG4gICAgaGVpZ2h0OiAyNDBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLXNldC1maWx0ZXItaXRlbSB7XFxuICAgIGhlaWdodDogNDBweDtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBkaXYsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1zZXQtZmlsdGVyLWl0ZW0gPiBzcGFuIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItaGVhZGVyLWNvbnRhaW5lcjpudGgtY2hpbGQoMikge1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1maWx0ZXIgLmFnLWZpbHRlci1hcHBseS1wYW5lbCBidXR0b24ge1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgYm9yZGVyOiAwO1xcbiAgICAgIGNvbG9yOiAjM2Y1MWI1O1xcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsdGVyIC5hZy1maWx0ZXItYXBwbHktcGFuZWwgYnV0dG9uICsgYnV0dG9uIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiB7XFxuICAgIGhlaWdodDogMzJweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1ncm91cCAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbi1sYWJlbCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4gLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tbGFiZWwsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uIC5hZy1jb2x1bW4tZ3JvdXAtaWNvbnMge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctcHJpbWFyeS1jb2xzLWxpc3QtcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLXByaW1hcnktY29scy1saXN0LXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLXNlbGVjdC1wYW5lbCAuYWctY29sdW1uLXRvb2wtcGFuZWwtY29sdW1uLmFnLXRvb2xwYW5lbC1hZGQtZ3JvdXAtaW5kZW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcHJpbWFyeS1jb2xzLWhlYWRlci1wYW5lbCB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBoZWlnaHQ6IDU2cHg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtaGVhZGVyLXBhbmVsID4gZGl2IHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXByaW1hcnktY29scy1oZWFkZXItcGFuZWwgLmFnLWZpbHRlci1ib2R5IHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciB7XFxuICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIHtcXG4gICAgICB3aWR0aDogMTAwJTsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogYXV0bztcXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1maWx0ZXItcGFuZWwgLmFnLWZpbHRlci10b29scGFuZWwtaW5zdGFuY2UgLmFnLWZpbHRlci10b29scGFuZWwtaGVhZGVyIHtcXG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDsgfVxcbiAgICAgICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItdG9vbHBhbmVsLWluc3RhbmNlIC5hZy1maWx0ZXItdG9vbHBhbmVsLWhlYWRlciA+IGRpdiB7XFxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYm9keS13cmFwcGVyIHtcXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctZmlsdGVyLXBhbmVsIC5hZy1maWx0ZXItYWlyIHtcXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgICBib3JkZXItbGVmdDogMDtcXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcXG4gICAgICAgIHBhZGRpbmc6IDhweCAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1waXZvdC1tb2RlLXBhbmVsIHtcXG4gICAgICBoZWlnaHQ6IDU2cHg7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogbm9uZTtcXG4gICAgICAgICAgICAgIGZsZXg6IG5vbmU7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIHtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XFxuICAgICAgcGFkZGluZzogOHB4IDA7XFxuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctY29sdW1uLWRyb3AgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XFxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJSb2JvdG9cXFwiLCBzYW5zLXNlcmlmO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1saXN0IHtcXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcCA+IGRpdiA+IDpmaXJzdC1jaGlsZCB7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctdG9vbC1wYW5lbC13cmFwcGVyIC5hZy1jb2x1bW4tZHJvcDpsYXN0LWNoaWxkIHtcXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbnVtZXJpYy1oZWFkZXIgLmFnLWhlYWRlci1jZWxsLWxhYmVsIC5hZy1oZWFkZXItaWNvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFuZWwge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XFxuICAgIGhlaWdodDogNTZweDtcXG4gICAgcGFkZGluZzogMCAyNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhbmVsID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCAuYWctaWNvbiB7XFxuICAgIHdpZHRoOiAxOHB4O1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXBhZ2luZy1wYWdlLXN1bW1hcnktcGFuZWwgLmFnLWljb24uYWctZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wYWdpbmctcGFnZS1zdW1tYXJ5LXBhbmVsIC5hZy1pY29uIGJ1dHRvbiB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAgIG9wYWNpdHk6IDA7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcGFnaW5nLXBhZ2Utc3VtbWFyeS1wYW5lbCBzcGFuIHtcXG4gICAgbWFyZ2luOiAwIDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yb3ctc2VsZWN0ZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXRvcCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtdG9wIHtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLXJpZ2h0LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1yYW5nZS1zaW5nbGUtY2VsbCkuYWctY2VsbC1yYW5nZS1yaWdodCB7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWJvdHRvbSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZDpub3QoLmFnLWNlbGwtcmFuZ2Utc2luZ2xlLWNlbGwpLmFnLWNlbGwtcmFuZ2UtYm90dG9tIHtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLXJhbmdlLXNpbmdsZS1jZWxsKS5hZy1jZWxsLXJhbmdlLWxlZnQge1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIyLCAxMzQsIDIwMywgMC4xKTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQ6bm90KC5hZy1jZWxsLWZvY3VzKS5hZy1jZWxsLXJhbmdlLWNoYXJ0IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDg4LCAyNTUsIDAuMSk7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkOm5vdCguYWctY2VsbC1mb2N1cykuYWctY2VsbC1yYW5nZS1jaGFydC5hZy1jZWxsLXJhbmdlLWNoYXJ0LWNhdGVnb3J5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDI1NSwgMTMyLCAwLjEpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMTpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjIpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMjpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjMpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtMzpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjQpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQtNDpub3QoLmFnLWNlbGwtZm9jdXMpIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjIsIDEzNCwgMjAzLCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC10b3AuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtdG9wLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtcmlnaHQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodCB7XFxuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tZmlsbC1yaWdodC5hZy1jZWxsLmFnLWNlbGwtcmFuZ2Utc2VsZWN0ZWQge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1ib3R0b20uYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWZpbGwtYm90dG9tLmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWx0ciAuYWctc2VsZWN0aW9uLWZpbGwtbGVmdCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQge1xcbiAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjM2Y1MWI1OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1zZWxlY3Rpb24tZmlsbC1sZWZ0LmFnLWNlbGwuYWctY2VsbC1yYW5nZS1zZWxlY3RlZCwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1maWxsLWxlZnQuYWctY2VsbC5hZy1jZWxsLXJhbmdlLXNlbGVjdGVkIHtcXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjYWZhZmFmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZpbGwtaGFuZGxlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJhbmdlLWhhbmRsZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDZweDtcXG4gICAgaGVpZ2h0OiA2cHg7XFxuICAgIGJvdHRvbTogLTFweDtcXG4gICAgcmlnaHQ6IC0xcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmlsbC1oYW5kbGUge1xcbiAgICBjdXJzb3I6IGNlbGw7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmFuZ2UtaGFuZGxlIHtcXG4gICAgY3Vyc29yOiBud3NlLXJlc2l6ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jZWxsLWlubGluZS1lZGl0aW5nIHtcXG4gICAgcGFkZGluZzogMjRweDtcXG4gICAgaGVpZ2h0OiA3MnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtaW5saW5lLWVkaXRpbmcsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wb3B1cC1lZGl0b3Ige1xcbiAgICBwYWRkaW5nOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcG9wdXAtZWRpdG9yIC5hZy1sYXJnZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XFxuICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgIHBhZGRpbmc6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3Qge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LWxpc3Qge1xcbiAgICAgIHdpZHRoOiAyMDBweDtcXG4gICAgICBoZWlnaHQ6IDMxMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXJpY2gtc2VsZWN0LXZhbHVlIHtcXG4gICAgICBwYWRkaW5nOiAwIDhweCAwIDI0cHg7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcmljaC1zZWxlY3QgLmFnLXZpcnR1YWwtbGlzdC1pdGVtIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgaGVpZ2h0OiA0OHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWNoLXNlbGVjdCAuYWctdmlydHVhbC1saXN0LWl0ZW06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3cge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpY2gtc2VsZWN0IC5hZy1yaWNoLXNlbGVjdC1yb3ctc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbHRyIC5hZy1mbG9hdGluZy1maWx0ZXItYnV0dG9uIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZmxvYXRpbmctZmlsdGVyLWJ1dHRvbiBidXR0b24ge1xcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBoZWlnaHQ6IDE4cHg7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHdpZHRoOiAxOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3g6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1leHBhbmRlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctY2VsbC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtZXhwYW5kZWQ6bm90KC5hZy1oaWRkZW4pICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb250cmFjdGVkOm5vdCguYWctaGlkZGVuKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY2hlY2tib3g6bm90KC5hZy1pbnZpc2libGUpIH4gLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdGlvbi1jaGVja2JveDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkOm5vdCguYWctaGlkZGVuKSB+IC5hZy1ncm91cC1jaGVja2JveCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZ3JvdXAtY29udHJhY3RlZDpub3QoLmFnLWhpZGRlbikgfiAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoZWNrYm94Om5vdCguYWctaW52aXNpYmxlKSB+IC5hZy1ncm91cC1jaGVja2JveCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNoaWxkLWNvdW50IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggc3BhbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcXG4gICAgaGVpZ2h0OiA0OHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIC5hZy1pY29uLWdyb3VwLFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWxlZnQtYXJyb3csXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtaG9yaXpvbnRhbCAuYWctcmlnaHQtYXJyb3cge1xcbiAgICAgIG1hcmdpbjogMCA4cHg7XFxuICAgICAgb3BhY2l0eTogMC41NDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWNvbHVtbi1kcm9wLWVtcHR5LW1lc3NhZ2Uge1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCB7XFxuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmc6IDAgNHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC10ZXh0IHtcXG4gICAgICBtYXJnaW46IDAgOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtY2VsbCAuYWctY29sdW1uLWRyb3AtY2VsbC1idXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtYXJnaW46IDAgNHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNTQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwgLmFnLWNvbHVtbi1kcm9wLWNlbGwtYnV0dG9uOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuODc7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jb2x1bW4tZHJvcC1jZWxsIC5hZy1jb2x1bW4tZHJhZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY29sdW1uLWRyb3AtdmVydGljYWwgLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2VsZWN0LWFnZy1mdW5jLXBvcHVwIHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcXG4gICAgaGVpZ2h0OiAxNDBweDtcXG4gICAgcGFkZGluZzogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNlbGVjdC1hZ2ctZnVuYy1wb3B1cCAuYWctdmlydHVhbC1saXN0LWl0ZW0ge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2V0LWZpbHRlci1saXN0LFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1tZW51LWNvbHVtbi1zZWxlY3Qtd3JhcHBlciB7XFxuICAgIHdpZHRoOiBhdXRvOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNvbHVtbi1kcm9wLXZlcnRpY2FsID4gLmFnLWNvbHVtbi1kcm9wLWNlbGwge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tdG9wOiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNjMSAhaW1wb3J0YW50OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNlbGwtZGF0YS1jaGFuZ2VkLWFuaW1hdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLWljb24ge1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW47XFxuICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XFxuICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcXG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XFxuXFxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xcbiAgZnJvbSB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cXG4gIHRvIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxcblxcbkBrZXlmcmFtZXMgc3BpbiB7XFxuICBmcm9tIHtcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxcbiAgdG8ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3R1Yi1jZWxsIC5hZy1sb2FkaW5nLXRleHQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLXRvcCB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWZsb2F0aW5nLWJvdHRvbSB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzJweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1uYW1lLXZhbHVlLXZhbHVlIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc3RhdHVzLWJhci1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctbmFtZS12YWx1ZSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcXG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGV0YWlscy1yb3cge1xcbiAgICBwYWRkaW5nOiA0MHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy13cmFwcGVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXIge1xcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgcGFkZGluZzogOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMge1xcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XFxuICAgICAgd2lkdGg6IDIycHg7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XFxuICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDA7XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMDtcXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UyZTJlMjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhci5mdWxsLXdpZHRoIC5hZy1wYW5lbC1jb250YWluZXIge1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1jb2x1bW4tZHJvcCB7XFxuICAgICAgbWluLWhlaWdodDogNTBweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1wcmltYXJ5LWNvbHMtZmlsdGVyLXdyYXBwZXIge1xcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ncm91cC1jb21wb25lbnQge1xcbiAgICBtYXJnaW46IDEwcHggNXB4O1xcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcXG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgyMjYsIDIyNiwgMjI2LCAwLjUpO1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtY29tcG9uZW50LWxhYmVsIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICAgICAgcGFkZGluZzogMCAycHg7XFxuICAgICAgZm9udC1zaXplOiAxMXB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWNvbXBvbmVudCAuYWctZ3JvdXAtaXRlbSB7XFxuICAgICAgbWFyZ2luLXRvcDogMnB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwuYWctcG9wdXAgPiBkaXYge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XFxuICAgIC5hZy1kcmFnZ2luZy1yYW5nZS1oYW5kbGUgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2csIC5hZy1kcmFnZ2luZy1maWxsLWhhbmRsZSAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xcbiAgICAgIGhlaWdodDogNTZweDtcXG4gICAgICBmb250LXNpemU6IDEycHg7XFxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiB7XFxuICAgICAgICBoZWlnaHQ6IDIwcHg7XFxuICAgICAgICB3aWR0aDogMjBweDtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbiAuYWctaWNvbiB7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cXG4gICAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b246aG92ZXIsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctZGlhbG9nIC5hZy1kaWFsb2ctdGl0bGUtYmFyIC5hZy1kaWFsb2ctdGl0bGUtYmFyLWJ1dHRvbnMgLmFnLWRpYWxvZy1idXR0b24uYWctaGFzLXBvcHVwIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLWRpYWxvZy10aXRsZS1iYXIgLmFnLWRpYWxvZy10aXRsZS1iYXItYnV0dG9ucyAuYWctZGlhbG9nLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1kaWFsb2cgLmFnLW1lc3NhZ2UtYm94IC5hZy1tZXNzYWdlLWJveC1idXR0b24tYmFyIHtcXG4gICAgICBoZWlnaHQ6IDMwcHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gICAgICBwYWRkaW5nOiAycHg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWRpYWxvZyAuYWctbWVzc2FnZS1ib3ggLmFnLW1lc3NhZ2UtYm94LWJ1dHRvbi1iYXIgYnV0dG9uIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcXG4gICAgcGFkZGluZzogNXB4O1xcbiAgICBib3JkZXItd2lkdGg6IDFweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXM7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy10b29sdGlwLmFnLXRvb2x0aXAtaGlkaW5nIHtcXG4gICAgICBvcGFjaXR5OiAwOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51IHtcXG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0IC5hZy1jaGFydC1tZW51ID4gc3Bhbjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdiB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1jaGFydC10YWJiZWQtbWVudSAuYWctY2hhcnQtc2V0dGluZ3MgLmFnLWNoYXJ0LXNldHRpbmdzLW1pbmktd3JhcHBlciA+IGRpdi5hZy1zZWxlY3RlZCB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjM2Y1MWI1OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWNoYXJ0LXRhYmJlZC1tZW51IC5hZy1jaGFydC1zZXR0aW5ncyAuYWctY2hhcnQtc2V0dGluZ3MtbmF2LWJhciAuYWctbmF2LWNhcmQtc2VsZWN0b3IgLmFnLW5hdi1jYXJkLWl0ZW0ge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcXG4gICAgZm9udC1zaXplOiAxMXB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2hhcnQtdGFiYmVkLW1lbnUgLmFnLWNoYXJ0LXNldHRpbmdzIC5hZy1jaGFydC1zZXR0aW5ncy1uYXYtYmFyIC5hZy1uYXYtY2FyZC1zZWxlY3RvciAuYWctbmF2LWNhcmQtaXRlbS5hZy1zZWxlY3RlZCB7XFxuICAgICAgY29sb3I6ICMzZjUxYjU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbiB7XFxuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiYWdHcmlkTWF0ZXJpYWxcXFwiO1xcbiAgICBzcGVhazogbm9uZTtcXG4gICAgZm9udC1zaXplOiAxOHB4O1xcbiAgICBjb2xvcjogIzMzMztcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFnZ3JlZ2F0aW9uOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1hcnJvd3M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTAxXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWFzYzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2FuY2VsOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGFydDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZCxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBsaW5lLWhlaWdodDogMThweDtcXG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLXJlYWRvbmx5LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1yZWFkb25seSxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSB7XFxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICAgIG9wYWNpdHk6IDAuMzg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkIHtcXG4gICAgY29sb3I6ICNmZjQwODE7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtY2hlY2tlZC1yZWFkb25seTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwNVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlOmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC11bmNoZWNrZWQtcmVhZG9ubHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTA3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvbHVtbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDhcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29sdW1uczpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MDlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY29udHJhY3RlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MEFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWdyb3VwLWV4cGFuZGVkIC5hZy1pY29uLWNvbnRyYWN0ZWQ6ZW1wdHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNvcHk6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBCXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNyb3NzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkwQ1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jdXQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRhdGE6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBFXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWRlc2M6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTBGXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV4cGFuZGVkOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1leWUtc2xhc2g6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTExXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWV5ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZmlsdGVyOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxM1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1maXJzdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTRcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JpcDpiZWZvcmUsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yb3ctZHJhZzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MTVcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tZ3JvdXA6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE2XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWluZGV0ZXJtaW5hdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE3XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxhc3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTE4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWxlZnQ6YmVmb3JlLCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJpZ2h0LWFycm93OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxOVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1sb2FkaW5nOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxQVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1tYXhpbWl6ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWVudTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MUNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tbWluaW1pemU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTFEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLW1pbnVzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1uZXh0OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkxRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub25lOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyMFxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1ub3QtYWxsb3dlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGFzdGU6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTIyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBpbjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcGl2b3Q6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI0XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXBsdXM6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTI1XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXByZXZpb3VzOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyNlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyN1xcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1yYWRpby1idXR0b24tb24ge1xcbiAgICBjb2xvcjogI2ZmNDA4MTsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXFxFOTI4XFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJpZ2h0OmJlZm9yZSwgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1yaWdodC1hcnJvdzpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MjlcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc2F2ZTpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkFcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtZG93bjpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkJcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtbGVmdDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MkNcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tc21hbGwtcmlnaHQ6YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTJEXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXNtYWxsLXVwOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10aWNrOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkyRlxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLWNsb3NlZDpiZWZvcmUge1xcbiAgICBjb250ZW50OiBcXFwiXFxcXEU5MzBcXFwiOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tdHJlZS1pbmRldGVybWluYXRlOmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcRTkzMVxcXCI7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi10cmVlLW9wZW46YmVmb3JlIHtcXG4gICAgY29udGVudDogXFxcIlxcXFxFOTMyXFxcIjsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctbnVtZXJpYy1jZWxsIHtcXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1yYWRpby1idXR0b24tbGFiZWwsIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jaGVja2JveC1sYWJlbCB7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXRvb2wtcGFuZWwtd3JhcHBlciAuYWctcGl2b3QtbW9kZS1wYW5lbCAuYWctcGl2b3QtbW9kZS1zZWxlY3Qge1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy10b29sLXBhbmVsLXdyYXBwZXIgLmFnLWNvbHVtbi1kcm9wIC5hZy1jb2x1bW4tZHJvcC1lbXB0eS1tZXNzYWdlIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1zZWxlY3QtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4tZ3JvdXAgLmFnLWNvbHVtbi1ncm91cC1pY29ucyxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLXNlbGVjdC1jaGVja2JveCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1zZWxlY3QtcGFuZWwgLmFnLWNvbHVtbi10b29sLXBhbmVsLWNvbHVtbiAuYWctY29sdW1uLWdyb3VwLWljb25zIHtcXG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tc2VsZWN0LXBhbmVsIC5hZy1jb2x1bW4tdG9vbC1wYW5lbC1jb2x1bW4uYWctdG9vbHBhbmVsLWFkZC1ncm91cC1pbmRlbnQge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogMzRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctaGVhZGVyLXNlbGVjdC1hbGwge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94LFxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCxcXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNvbnRyYWN0ZWQge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcXG4gICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2VsZWN0aW9uLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zZWxlY3Rpb24tY2hlY2tib3ggKyAuYWctZ3JvdXAtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWNlbGwtdmFsdWU6bm90KDplbXB0eSksXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWNoZWNrYm94ICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1leHBhbmRlZCArIC5hZy1ncm91cC12YWx1ZTpub3QoOmVtcHR5KSxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY29udHJhY3RlZCArIC5hZy1jZWxsLXZhbHVlOm5vdCg6ZW1wdHkpLFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLXZhbHVlOm5vdCg6ZW1wdHkpIHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLXNlbGVjdGlvbi1jaGVja2JveCArIC5hZy1ncm91cC1jaGVja2JveCxcXG4gICAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctZ3JvdXAtY2hlY2tib3ggKyAuYWctZ3JvdXAtY2hlY2tib3gsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWdyb3VwLWV4cGFuZGVkICsgLmFnLWdyb3VwLWNoZWNrYm94LFxcbiAgICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jb250cmFjdGVkICsgLmFnLWdyb3VwLWNoZWNrYm94IHtcXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1ncm91cC1jaGlsZC1jb3VudCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4OyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1jb2x1bW4tZHJvcC1ob3Jpem9udGFsIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tZ3JvdXAsXFxuICAgICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWNvbHVtbi1kcm9wLWhvcml6b250YWwgLmFnLWljb24tcGl2b3Qge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWZsb2F0aW5nLWZpbHRlci1idXR0b24ge1xcbiAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gZGl2LCAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2V0LWZpbHRlci1pdGVtID4gc3BhbiB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1ydGwgLmFnLWhlYWRlciAuYWctaGVhZGVyLWNlbGwtcmVzaXplOjphZnRlciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIgLmFnLXBhbmVsLWNvbnRhaW5lciB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyO1xcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXJ0bCAuYWctc2lkZS1iYXIuZnVsbC13aWR0aCAuYWctcGFuZWwtY29udGFpbmVyIHtcXG4gICAgICBib3JkZXItbGVmdDogMDsgfVxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5zYXNzLXZhcmlhYmxlczo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiAneyBcXFwiYXV0b1NpemVQYWRkaW5nXFxcIjogXFxcIjI0cHhcXFwiLCBcXFwiaGVhZGVySGVpZ2h0XFxcIjogXFxcIjU2cHhcXFwiLCBcXFwiZ3JvdXBQYWRkaW5nU2l6ZVxcXCI6IFxcXCI0MnB4XFxcIiwgXFxcImZvb3RlclBhZGRpbmdBZGRpdGlvblxcXCI6IFxcXCIzMnB4XFxcIiwgXFxcInZpcnR1YWxJdGVtSGVpZ2h0XFxcIjogXFxcIjQwcHhcXFwiLCBcXFwiYWdnRnVuY1BvcHVwSGVpZ2h0XFxcIjogXFxcIjE0MHB4XFxcIiwgXFxcImNoZWNrYm94SW5kZW50V2lkdGhcXFwiOiBcXFwiMjZweFxcXCIsIFxcXCJsZWFmTm9kZVBhZGRpbmdcXFwiOiBcXFwiMjRweFxcXCIsIFxcXCJyb3dIZWlnaHRcXFwiOiBcXFwiNDhweFxcXCIsIFxcXCJncmlkU2l6ZVxcXCI6IFxcXCI4cHhcXFwiLCBcXFwiaWNvblNpemVcXFwiOiBcXFwiMThweFxcXCIgfSc7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWNoZWNrZWQtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tY2hlY2tib3gtdW5jaGVja2VkLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LXVuY2hlY2tlZC1yZWFkb25seSxcXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctaWNvbi1jaGVja2JveC1pbmRldGVybWluYXRlLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtcmVhZG9ubHksXFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWljb24tcmFkaW8tYnV0dG9uLW9uLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1pY29uLXJhZGlvLWJ1dHRvbi1vZmYge1xcbiAgICBoZWlnaHQ6IDI0cHg7XFxuICAgIHdpZHRoOiAyNHB4O1xcbiAgICBmb250LXNpemU6IDI0cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLWhlYWRlci1jZWxsLFxcbiAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1oZWFkZXItZ3JvdXAtY2VsbCB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNGVjICFpbXBvcnRhbnQ7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctY2VsbC1oaWdobGlnaHQtYW5pbWF0aW9uIHtcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLW1lbnUtb3B0aW9uIHtcXG4gICAgaGVpZ2h0OiAzOHB4OyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgICBib3JkZXItdG9wOiAwOyB9XFxuICAgIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctc2lkZS1iYXIgLmFnLXNpZGUtYnV0dG9ucyBidXR0b24ge1xcbiAgICAgIGJvcmRlcjogMDtcXG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcXG4gICAgICBmb250LWZhbWlseTogXFxcIlJvYm90b1xcXCIsIHNhbnMtc2VyaWY7XFxuICAgICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zaWRlLWJ1dHRvbiBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxcbiAgICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXNpZGUtYmFyIC5hZy1zaWRlLWJ1dHRvbnMgLmFnLXNlbGVjdGVkIGJ1dHRvbiB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjM2Y1MWI1O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cXG4gICAgLmFnLXRoZW1lLW1hdGVyaWFsIC5hZy1zaWRlLWJhciAuYWctZmlsdGVyLXRvb2xwYW5lbC1ib2R5IHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuICAuYWctdGhlbWUtbWF0ZXJpYWwgLmFnLXN0YXR1cy1iYXIge1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cXG4gIC5hZy10aGVtZS1tYXRlcmlhbCAuYWctcnRsIC5hZy1zaWRlLWJhciAuYWctc2lkZS1idXR0b25zIC5hZy1zZWxlY3RlZCBidXR0b24ge1xcbiAgICBib3JkZXItbGVmdDogMDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDtcXG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzNmNTFiNTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7IH1cXG5cXG5cIiIsIm1vZHVsZS5leHBvcnRzID0gXCIvKlxcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXFxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XFxuKlxcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxcbiovXFxuXFxuLmd3LWFsaWdubWVudC1jZWxsLXJpZ2h0LFxcbi5ndy1hbGlnbm1lbnQtY2VsbC1yaWdodCAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICAgIGZsZXg6IDE7XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtY2VsbC1jZW50ZXIsXFxuLmd3LWFsaWdubWVudC1jZWxsLWNlbnRlciAuYWctY2VsbC12YWx1ZSB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDE7XFxuICAgICAgICAgICAgZmxleDogMTtcXG59XFxuXFxuLmd3LWFsaWdubWVudC1oZWFkZXItcmlnaHQgLmFnLWhlYWRlci1jZWxsLWxhYmVsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgICAgXFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLWNlbnRlciAuYWctaGVhZGVyLWNlbGwtbGFiZWwge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblxcbi5ndy1hbGlnbm1lbnQtaGVhZGVyLXJpZ2h0IC5hZy1jZWxsLWxhYmVsLWNvbnRhaW5lcixcXG4uZ3ctYWxpZ25tZW50LWhlYWRlci1jZW50ZXIgLmFnLWNlbGwtbGFiZWwtY29udGFpbmVyIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVwiIiwiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cblxudmFyIHN0eWxlc0luRG9tID0ge307XG5cbnZhclx0bWVtb2l6ZSA9IGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbztcblxuXHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdGlmICh0eXBlb2YgbWVtbyA9PT0gXCJ1bmRlZmluZWRcIikgbWVtbyA9IGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cdFx0cmV0dXJuIG1lbW87XG5cdH07XG59O1xuXG52YXIgaXNPbGRJRSA9IG1lbW9pemUoZnVuY3Rpb24gKCkge1xuXHQvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xuXHQvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG5cdC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcblx0Ly8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXG5cdC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuXHRyZXR1cm4gd2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2I7XG59KTtcblxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTtcbn07XG5cbnZhciBnZXRFbGVtZW50ID0gKGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbyA9IHt9O1xuXG5cdHJldHVybiBmdW5jdGlvbih0YXJnZXQpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBwYXNzaW5nIGZ1bmN0aW9uIGluIG9wdGlvbnMsIHRoZW4gdXNlIGl0IGZvciByZXNvbHZlIFwiaGVhZFwiIGVsZW1lbnQuXG4gICAgICAgICAgICAgICAgLy8gVXNlZnVsIGZvciBTaGFkb3cgUm9vdCBzdHlsZSBpLmVcbiAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAgICAgLy8gICBpbnNlcnRJbnRvOiBmdW5jdGlvbiAoKSB7IHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2Zvb1wiKS5zaGFkb3dSb290IH1cbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHZhciBzdHlsZVRhcmdldCA9IGdldFRhcmdldC5jYWxsKHRoaXMsIHRhcmdldCk7XG5cdFx0XHQvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXHRcdFx0aWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG5cdFx0XHRcdFx0Ly8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuXHRcdFx0XHR9IGNhdGNoKGUpIHtcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuXHRcdH1cblx0XHRyZXR1cm4gbWVtb1t0YXJnZXRdXG5cdH07XG59KSgpO1xuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhclx0c2luZ2xldG9uQ291bnRlciA9IDA7XG52YXJcdHN0eWxlc0luc2VydGVkQXRUb3AgPSBbXTtcblxudmFyXHRmaXhVcmxzID0gcmVxdWlyZShcIi4vdXJsc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihsaXN0LCBvcHRpb25zKSB7XG5cdGlmICh0eXBlb2YgREVCVUcgIT09IFwidW5kZWZpbmVkXCIgJiYgREVCVUcpIHtcblx0XHRpZiAodHlwZW9mIGRvY3VtZW50ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgc3R5bGUtbG9hZGVyIGNhbm5vdCBiZSB1c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnRcIik7XG5cdH1cblxuXHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRvcHRpb25zLmF0dHJzID0gdHlwZW9mIG9wdGlvbnMuYXR0cnMgPT09IFwib2JqZWN0XCIgPyBvcHRpb25zLmF0dHJzIDoge307XG5cblx0Ly8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG5cdC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2Vcblx0aWYgKCFvcHRpb25zLnNpbmdsZXRvbiAmJiB0eXBlb2Ygb3B0aW9ucy5zaW5nbGV0b24gIT09IFwiYm9vbGVhblwiKSBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcblxuXHQvLyBCeSBkZWZhdWx0LCBhZGQgPHN0eWxlPiB0YWdzIHRvIHRoZSA8aGVhZD4gZWxlbWVudFxuICAgICAgICBpZiAoIW9wdGlvbnMuaW5zZXJ0SW50bykgb3B0aW9ucy5pbnNlcnRJbnRvID0gXCJoZWFkXCI7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgYm90dG9tIG9mIHRoZSB0YXJnZXRcblx0aWYgKCFvcHRpb25zLmluc2VydEF0KSBvcHRpb25zLmluc2VydEF0ID0gXCJib3R0b21cIjtcblxuXHR2YXIgc3R5bGVzID0gbGlzdFRvU3R5bGVzKGxpc3QsIG9wdGlvbnMpO1xuXG5cdGFkZFN0eWxlc1RvRG9tKHN0eWxlcywgb3B0aW9ucyk7XG5cblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuXHRcdHZhciBtYXlSZW1vdmUgPSBbXTtcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0XHRkb21TdHlsZS5yZWZzLS07XG5cdFx0XHRtYXlSZW1vdmUucHVzaChkb21TdHlsZSk7XG5cdFx0fVxuXG5cdFx0aWYobmV3TGlzdCkge1xuXHRcdFx0dmFyIG5ld1N0eWxlcyA9IGxpc3RUb1N0eWxlcyhuZXdMaXN0LCBvcHRpb25zKTtcblx0XHRcdGFkZFN0eWxlc1RvRG9tKG5ld1N0eWxlcywgb3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBtYXlSZW1vdmUubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBkb21TdHlsZSA9IG1heVJlbW92ZVtpXTtcblxuXHRcdFx0aWYoZG9tU3R5bGUucmVmcyA9PT0gMCkge1xuXHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSBkb21TdHlsZS5wYXJ0c1tqXSgpO1xuXG5cdFx0XHRcdGRlbGV0ZSBzdHlsZXNJbkRvbVtkb21TdHlsZS5pZF07XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xufTtcblxuZnVuY3Rpb24gYWRkU3R5bGVzVG9Eb20gKHN0eWxlcywgb3B0aW9ucykge1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gc3R5bGVzW2ldO1xuXHRcdHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdO1xuXG5cdFx0aWYoZG9tU3R5bGUpIHtcblx0XHRcdGRvbVN0eWxlLnJlZnMrKztcblxuXHRcdFx0Zm9yKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGRvbVN0eWxlLnBhcnRzW2pdKGl0ZW0ucGFydHNbal0pO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IoOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dmFyIHBhcnRzID0gW107XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdHBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSwgb3B0aW9ucykpO1xuXHRcdFx0fVxuXG5cdFx0XHRzdHlsZXNJbkRvbVtpdGVtLmlkXSA9IHtpZDogaXRlbS5pZCwgcmVmczogMSwgcGFydHM6IHBhcnRzfTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChsaXN0LCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZXMgPSBbXTtcblx0dmFyIG5ld1N0eWxlcyA9IHt9O1xuXG5cdGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBpdGVtID0gbGlzdFtpXTtcblx0XHR2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcblx0XHR2YXIgY3NzID0gaXRlbVsxXTtcblx0XHR2YXIgbWVkaWEgPSBpdGVtWzJdO1xuXHRcdHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdO1xuXHRcdHZhciBwYXJ0ID0ge2NzczogY3NzLCBtZWRpYTogbWVkaWEsIHNvdXJjZU1hcDogc291cmNlTWFwfTtcblxuXHRcdGlmKCFuZXdTdHlsZXNbaWRdKSBzdHlsZXMucHVzaChuZXdTdHlsZXNbaWRdID0ge2lkOiBpZCwgcGFydHM6IFtwYXJ0XX0pO1xuXHRcdGVsc2UgbmV3U3R5bGVzW2lkXS5wYXJ0cy5wdXNoKHBhcnQpO1xuXHR9XG5cblx0cmV0dXJuIHN0eWxlcztcbn1cblxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50IChvcHRpb25zLCBzdHlsZSkge1xuXHR2YXIgdGFyZ2V0ID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8pXG5cblx0aWYgKCF0YXJnZXQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydEludG8nIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcblx0fVxuXG5cdHZhciBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcCA9IHN0eWxlc0luc2VydGVkQXRUb3Bbc3R5bGVzSW5zZXJ0ZWRBdFRvcC5sZW5ndGggLSAxXTtcblxuXHRpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJ0b3BcIikge1xuXHRcdGlmICghbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3ApIHtcblx0XHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIHRhcmdldC5maXJzdENoaWxkKTtcblx0XHR9IGVsc2UgaWYgKGxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wLm5leHRTaWJsaW5nKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdFx0fVxuXHRcdHN0eWxlc0luc2VydGVkQXRUb3AucHVzaChzdHlsZSk7XG5cdH0gZWxzZSBpZiAob3B0aW9ucy5pbnNlcnRBdCA9PT0gXCJib3R0b21cIikge1xuXHRcdHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cdH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwib2JqZWN0XCIgJiYgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpIHtcblx0XHR2YXIgbmV4dFNpYmxpbmcgPSBnZXRFbGVtZW50KG9wdGlvbnMuaW5zZXJ0SW50byArIFwiIFwiICsgb3B0aW9ucy5pbnNlcnRBdC5iZWZvcmUpO1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUoc3R5bGUsIG5leHRTaWJsaW5nKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJbU3R5bGUgTG9hZGVyXVxcblxcbiBJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgJ2luc2VydEF0JyAoJ29wdGlvbnMuaW5zZXJ0QXQnKSBmb3VuZC5cXG4gTXVzdCBiZSAndG9wJywgJ2JvdHRvbScsIG9yIE9iamVjdC5cXG4gKGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyI2luc2VydGF0KVxcblwiKTtcblx0fVxufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQgKHN0eWxlKSB7XG5cdGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cdHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xuXG5cdHZhciBpZHggPSBzdHlsZXNJbnNlcnRlZEF0VG9wLmluZGV4T2Yoc3R5bGUpO1xuXHRpZihpZHggPj0gMCkge1xuXHRcdHN0eWxlc0luc2VydGVkQXRUb3Auc3BsaWNlKGlkeCwgMSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cblx0YWRkQXR0cnMoc3R5bGUsIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgc3R5bGUpO1xuXG5cdHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGlua0VsZW1lbnQgKG9wdGlvbnMpIHtcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKTtcblxuXHRvcHRpb25zLmF0dHJzLnR5cGUgPSBcInRleHQvY3NzXCI7XG5cdG9wdGlvbnMuYXR0cnMucmVsID0gXCJzdHlsZXNoZWV0XCI7XG5cblx0YWRkQXR0cnMobGluaywgb3B0aW9ucy5hdHRycyk7XG5cdGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zLCBsaW5rKTtcblxuXHRyZXR1cm4gbGluaztcbn1cblxuZnVuY3Rpb24gYWRkQXR0cnMgKGVsLCBhdHRycykge1xuXHRPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0ZWwuc2V0QXR0cmlidXRlKGtleSwgYXR0cnNba2V5XSk7XG5cdH0pO1xufVxuXG5mdW5jdGlvbiBhZGRTdHlsZSAob2JqLCBvcHRpb25zKSB7XG5cdHZhciBzdHlsZSwgdXBkYXRlLCByZW1vdmUsIHJlc3VsdDtcblxuXHQvLyBJZiBhIHRyYW5zZm9ybSBmdW5jdGlvbiB3YXMgZGVmaW5lZCwgcnVuIGl0IG9uIHRoZSBjc3Ncblx0aWYgKG9wdGlvbnMudHJhbnNmb3JtICYmIG9iai5jc3MpIHtcblx0ICAgIHJlc3VsdCA9IG9wdGlvbnMudHJhbnNmb3JtKG9iai5jc3MpO1xuXG5cdCAgICBpZiAocmVzdWx0KSB7XG5cdCAgICBcdC8vIElmIHRyYW5zZm9ybSByZXR1cm5zIGEgdmFsdWUsIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgcnVubmluZyBydW50aW1lIHRyYW5zZm9ybWF0aW9ucyBvbiB0aGUgY3NzLlxuXHQgICAgXHRvYmouY3NzID0gcmVzdWx0O1xuXHQgICAgfSBlbHNlIHtcblx0ICAgIFx0Ly8gSWYgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiByZXR1cm5zIGEgZmFsc3kgdmFsdWUsIGRvbid0IGFkZCB0aGlzIGNzcy5cblx0ICAgIFx0Ly8gVGhpcyBhbGxvd3MgY29uZGl0aW9uYWwgbG9hZGluZyBvZiBjc3Ncblx0ICAgIFx0cmV0dXJuIGZ1bmN0aW9uKCkge1xuXHQgICAgXHRcdC8vIG5vb3Bcblx0ICAgIFx0fTtcblx0ICAgIH1cblx0fVxuXG5cdGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xuXHRcdHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrO1xuXG5cdFx0c3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKSk7XG5cblx0XHR1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcblx0XHRyZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuXG5cdH0gZWxzZSBpZiAoXG5cdFx0b2JqLnNvdXJjZU1hcCAmJlxuXHRcdHR5cGVvZiBVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBVUkwuY3JlYXRlT2JqZWN0VVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLnJldm9rZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIEJsb2IgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCJcblx0KSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVMaW5rRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSB1cGRhdGVMaW5rLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cblx0XHRcdGlmKHN0eWxlLmhyZWYpIFVSTC5yZXZva2VPYmplY3RVUkwoc3R5bGUuaHJlZik7XG5cdFx0fTtcblx0fSBlbHNlIHtcblx0XHRzdHlsZSA9IGNyZWF0ZVN0eWxlRWxlbWVudChvcHRpb25zKTtcblx0XHR1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUpO1xuXHRcdHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG5cdFx0fTtcblx0fVxuXG5cdHVwZGF0ZShvYmopO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZSAobmV3T2JqKSB7XG5cdFx0aWYgKG5ld09iaikge1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRuZXdPYmouY3NzID09PSBvYmouY3NzICYmXG5cdFx0XHRcdG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG5cdFx0XHRcdG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXBcblx0XHRcdCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHVwZGF0ZShvYmogPSBuZXdPYmopO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW1vdmUoKTtcblx0XHR9XG5cdH07XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG5cdHZhciB0ZXh0U3RvcmUgPSBbXTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gKGluZGV4LCByZXBsYWNlbWVudCkge1xuXHRcdHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcblxuXHRcdHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuXHR9O1xufSkoKTtcblxuZnVuY3Rpb24gYXBwbHlUb1NpbmdsZXRvblRhZyAoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuXHR2YXIgY3NzID0gcmVtb3ZlID8gXCJcIiA6IG9iai5jc3M7XG5cblx0aWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSByZXBsYWNlVGV4dChpbmRleCwgY3NzKTtcblx0fSBlbHNlIHtcblx0XHR2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XG5cdFx0dmFyIGNoaWxkTm9kZXMgPSBzdHlsZS5jaGlsZE5vZGVzO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXNbaW5kZXhdKSBzdHlsZS5yZW1vdmVDaGlsZChjaGlsZE5vZGVzW2luZGV4XSk7XG5cblx0XHRpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcblx0XHRcdHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnIChzdHlsZSwgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgbWVkaWEgPSBvYmoubWVkaWE7XG5cblx0aWYobWVkaWEpIHtcblx0XHRzdHlsZS5zZXRBdHRyaWJ1dGUoXCJtZWRpYVwiLCBtZWRpYSlcblx0fVxuXG5cdGlmKHN0eWxlLnN0eWxlU2hlZXQpIHtcblx0XHRzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG5cdH0gZWxzZSB7XG5cdFx0d2hpbGUoc3R5bGUuZmlyc3RDaGlsZCkge1xuXHRcdFx0c3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG5cdFx0fVxuXG5cdFx0c3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG5cdH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlTGluayAobGluaywgb3B0aW9ucywgb2JqKSB7XG5cdHZhciBjc3MgPSBvYmouY3NzO1xuXHR2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuXHQvKlxuXHRcdElmIGNvbnZlcnRUb0Fic29sdXRlVXJscyBpc24ndCBkZWZpbmVkLCBidXQgc291cmNlbWFwcyBhcmUgZW5hYmxlZFxuXHRcdGFuZCB0aGVyZSBpcyBubyBwdWJsaWNQYXRoIGRlZmluZWQgdGhlbiBsZXRzIHR1cm4gY29udmVydFRvQWJzb2x1dGVVcmxzXG5cdFx0b24gYnkgZGVmYXVsdC4gIE90aGVyd2lzZSBkZWZhdWx0IHRvIHRoZSBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgb3B0aW9uXG5cdFx0ZGlyZWN0bHlcblx0Ki9cblx0dmFyIGF1dG9GaXhVcmxzID0gb3B0aW9ucy5jb252ZXJ0VG9BYnNvbHV0ZVVybHMgPT09IHVuZGVmaW5lZCAmJiBzb3VyY2VNYXA7XG5cblx0aWYgKG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzIHx8IGF1dG9GaXhVcmxzKSB7XG5cdFx0Y3NzID0gZml4VXJscyhjc3MpO1xuXHR9XG5cblx0aWYgKHNvdXJjZU1hcCkge1xuXHRcdC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG5cdFx0Y3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIiArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSkgKyBcIiAqL1wiO1xuXHR9XG5cblx0dmFyIGJsb2IgPSBuZXcgQmxvYihbY3NzXSwgeyB0eXBlOiBcInRleHQvY3NzXCIgfSk7XG5cblx0dmFyIG9sZFNyYyA9IGxpbmsuaHJlZjtcblxuXHRsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuXG5cdGlmKG9sZFNyYykgVVJMLnJldm9rZU9iamVjdFVSTChvbGRTcmMpO1xufVxuIiwiXG4vKipcbiAqIFdoZW4gc291cmNlIG1hcHMgYXJlIGVuYWJsZWQsIGBzdHlsZS1sb2FkZXJgIHVzZXMgYSBsaW5rIGVsZW1lbnQgd2l0aCBhIGRhdGEtdXJpIHRvXG4gKiBlbWJlZCB0aGUgY3NzIG9uIHRoZSBwYWdlLiBUaGlzIGJyZWFrcyBhbGwgcmVsYXRpdmUgdXJscyBiZWNhdXNlIG5vdyB0aGV5IGFyZSByZWxhdGl2ZSB0byBhXG4gKiBidW5kbGUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBwYWdlLlxuICpcbiAqIE9uZSBzb2x1dGlvbiBpcyB0byBvbmx5IHVzZSBmdWxsIHVybHMsIGJ1dCB0aGF0IG1heSBiZSBpbXBvc3NpYmxlLlxuICpcbiAqIEluc3RlYWQsIHRoaXMgZnVuY3Rpb24gXCJmaXhlc1wiIHRoZSByZWxhdGl2ZSB1cmxzIHRvIGJlIGFic29sdXRlIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwYWdlIGxvY2F0aW9uLlxuICpcbiAqIEEgcnVkaW1lbnRhcnkgdGVzdCBzdWl0ZSBpcyBsb2NhdGVkIGF0IGB0ZXN0L2ZpeFVybHMuanNgIGFuZCBjYW4gYmUgcnVuIHZpYSB0aGUgYG5wbSB0ZXN0YCBjb21tYW5kLlxuICpcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3MpIHtcbiAgLy8gZ2V0IGN1cnJlbnQgbG9jYXRpb25cbiAgdmFyIGxvY2F0aW9uID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubG9jYXRpb247XG5cbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcImZpeFVybHMgcmVxdWlyZXMgd2luZG93LmxvY2F0aW9uXCIpO1xuICB9XG5cblx0Ly8gYmxhbmsgb3IgbnVsbD9cblx0aWYgKCFjc3MgfHwgdHlwZW9mIGNzcyAhPT0gXCJzdHJpbmdcIikge1xuXHQgIHJldHVybiBjc3M7XG4gIH1cblxuICB2YXIgYmFzZVVybCA9IGxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgbG9jYXRpb24uaG9zdDtcbiAgdmFyIGN1cnJlbnREaXIgPSBiYXNlVXJsICsgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXFwvW15cXC9dKiQvLCBcIi9cIik7XG5cblx0Ly8gY29udmVydCBlYWNoIHVybCguLi4pXG5cdC8qXG5cdFRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIGp1c3QgYSB3YXkgdG8gcmVjdXJzaXZlbHkgbWF0Y2ggYnJhY2tldHMgd2l0aGluXG5cdGEgc3RyaW5nLlxuXG5cdCAvdXJsXFxzKlxcKCAgPSBNYXRjaCBvbiB0aGUgd29yZCBcInVybFwiIHdpdGggYW55IHdoaXRlc3BhY2UgYWZ0ZXIgaXQgYW5kIHRoZW4gYSBwYXJlbnNcblx0ICAgKCAgPSBTdGFydCBhIGNhcHR1cmluZyBncm91cFxuXHQgICAgICg/OiAgPSBTdGFydCBhIG5vbi1jYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAgICAgW14pKF0gID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICg/OiAgPSBTdGFydCBhbm90aGVyIG5vbi1jYXB0dXJpbmcgZ3JvdXBzXG5cdCAgICAgICAgICAgICAgICAgW14pKF0rICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIHwgID0gT1Jcblx0ICAgICAgICAgICAgICAgICBcXCggID0gTWF0Y2ggYSBzdGFydCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgICAgICBbXikoXSogID0gTWF0Y2ggYW55dGhpbmcgdGhhdCBpc24ndCBhIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAgICAgXFwpICA9IE1hdGNoIGEgZW5kIHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICApICA9IEVuZCBHcm91cFxuICAgICAgICAgICAgICAqXFwpID0gTWF0Y2ggYW55dGhpbmcgYW5kIHRoZW4gYSBjbG9zZSBwYXJlbnNcbiAgICAgICAgICApICA9IENsb3NlIG5vbi1jYXB0dXJpbmcgZ3JvdXBcbiAgICAgICAgICAqICA9IE1hdGNoIGFueXRoaW5nXG4gICAgICAgKSAgPSBDbG9zZSBjYXB0dXJpbmcgZ3JvdXBcblx0IFxcKSAgPSBNYXRjaCBhIGNsb3NlIHBhcmVuc1xuXG5cdCAvZ2kgID0gR2V0IGFsbCBtYXRjaGVzLCBub3QgdGhlIGZpcnN0LiAgQmUgY2FzZSBpbnNlbnNpdGl2ZS5cblx0ICovXG5cdHZhciBmaXhlZENzcyA9IGNzcy5yZXBsYWNlKC91cmxcXHMqXFwoKCg/OlteKShdfFxcKCg/OlteKShdK3xcXChbXikoXSpcXCkpKlxcKSkqKVxcKS9naSwgZnVuY3Rpb24oZnVsbE1hdGNoLCBvcmlnVXJsKSB7XG5cdFx0Ly8gc3RyaXAgcXVvdGVzIChpZiB0aGV5IGV4aXN0KVxuXHRcdHZhciB1bnF1b3RlZE9yaWdVcmwgPSBvcmlnVXJsXG5cdFx0XHQudHJpbSgpXG5cdFx0XHQucmVwbGFjZSgvXlwiKC4qKVwiJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KVxuXHRcdFx0LnJlcGxhY2UoL14nKC4qKSckLywgZnVuY3Rpb24obywgJDEpeyByZXR1cm4gJDE7IH0pO1xuXG5cdFx0Ly8gYWxyZWFkeSBhIGZ1bGwgdXJsPyBubyBjaGFuZ2Vcblx0XHRpZiAoL14oI3xkYXRhOnxodHRwOlxcL1xcL3xodHRwczpcXC9cXC98ZmlsZTpcXC9cXC9cXC98XFxzKiQpL2kudGVzdCh1bnF1b3RlZE9yaWdVcmwpKSB7XG5cdFx0ICByZXR1cm4gZnVsbE1hdGNoO1xuXHRcdH1cblxuXHRcdC8vIGNvbnZlcnQgdGhlIHVybCB0byBhIGZ1bGwgdXJsXG5cdFx0dmFyIG5ld1VybDtcblxuXHRcdGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi8vXCIpID09PSAwKSB7XG5cdFx0ICBcdC8vVE9ETzogc2hvdWxkIHdlIGFkZCBwcm90b2NvbD9cblx0XHRcdG5ld1VybCA9IHVucXVvdGVkT3JpZ1VybDtcblx0XHR9IGVsc2UgaWYgKHVucXVvdGVkT3JpZ1VybC5pbmRleE9mKFwiL1wiKSA9PT0gMCkge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdXJsXG5cdFx0XHRuZXdVcmwgPSBiYXNlVXJsICsgdW5xdW90ZWRPcmlnVXJsOyAvLyBhbHJlYWR5IHN0YXJ0cyB3aXRoICcvJ1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZSB0byBjdXJyZW50IGRpcmVjdG9yeVxuXHRcdFx0bmV3VXJsID0gY3VycmVudERpciArIHVucXVvdGVkT3JpZ1VybC5yZXBsYWNlKC9eXFwuXFwvLywgXCJcIik7IC8vIFN0cmlwIGxlYWRpbmcgJy4vJ1xuXHRcdH1cblxuXHRcdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgdXJsKC4uLilcblx0XHRyZXR1cm4gXCJ1cmwoXCIgKyBKU09OLnN0cmluZ2lmeShuZXdVcmwpICsgXCIpXCI7XG5cdH0pO1xuXG5cdC8vIHNlbmQgYmFjayB0aGUgZml4ZWQgY3NzXG5cdHJldHVybiBmaXhlZENzcztcbn07XG4iLCJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcblx0XHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcblx0XHRtb2R1bGUucGF0aHMgPSBbXTtcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcblx0XHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XG5cdH1cblx0cmV0dXJuIG1vZHVsZTtcbn07XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTdGFydCBjZWxsIGVkaXRpbmdcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWQgXG4gKiBAcGFyYW0ge1N0cmluZ3xudW1iZXJ9IHJvdyBUaGUgcm93IGluZGV4XG4gKiBAcGFyYW0ge1N0cmluZ30gY29sS2V5IFRoZSBjb2x1bW4ncyBrZXlcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0ga2V5ICBLZXkgcHJlc3NcbiAqIEBwYXJhbSB7U3RyaW5nfSBjaGFyIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc3RhcnRFZGl0aW5nQ2VsbChpZCwgcm93LCBjb2xLZXksIGtleSwgY2hhcikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5zZXRGb2N1c2VkQ2VsbChOdW1iZXIocm93KSwgY29sS2V5KTtcbiAgb3B0aW9ucy5hcGkuc3RhcnRFZGl0aW5nQ2VsbCh7XG4gICAgcm93SW5kZXg6IE51bWJlcihyb3cpLFxuICAgIGNvbEtleTogY29sS2V5LFxuICAgIGtleVByZXNzOiBOdW1iZXIoa2V5KSxcbiAgICBjaGFyUHJlc3M6IGNoYXJcbiAgfSk7XG59XG5cbi8qKlxuICogU3RvcCBjZWxsIGVkaXRpbmcgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkIFxuICogQHBhcmFtIHtCb29sZWFufSBjYW5jZWwgd2hlbiB0cnVlIGNhbmNlbCBlZGl0cyAsIHNhdmUgZWRpdHMgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zdG9wRWRpdGluZyhpZCwgY2FuY2VsKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnN0b3BFZGl0aW5nKGNhbmNlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19lZGl0TmV4dENlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9OZXh0Q2VsbCgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2VkaXRQcmV2aW91c0NlbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAudGFiVG9QcmV2aW91c0NlbGwoKTtcbn1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5jb25zdCB7IGRlZXBQYXJzZUpzb24gfSA9IHJlcXVpcmUoXCJkZWVwLXBhcnNlLWpzb25cIik7XG5cbi8qKlxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAqIFxuICogRXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnMgd2l0aCBvcHRpb25zIHdoaWNoIGNhbiBub3QgYmUgaGFuZGxlZCBpbiBCQmpcbiAqIChleDogYXR0YWNoaW5nIGNhbGxiYWNrcylcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gZGVmaW5pdGlvbnMgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyhkZWZpbml0aW9ucykge1xuXG4gIGZvciAobGV0IGkgaW4gZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBkZWYgPSBkZWZpbml0aW9uc1tpXTtcblxuICAgIGRlZi5jaGVja2JveFNlbGVjdGlvbiA9IGRlZi5jaGVja2JveFNlbGVjdGlvbiB8fCBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveDtcbiAgICBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBkZWYuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gfHwgZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZSB0aGUgY29sdW1uIGRlZmluaXRpb25zIFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7QXJyYXl9IGRlZmluaXRpb25zIGFycmF5IG9mIGNvbHVtbiBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uRGVmaW5pdGlvbnMoaWQsIGRlZmluaXRpb25zKSB7XG4gIGNvbnN0IGdyaWQgPSBnd19nZXRHcmlkKGlkKTtcbiAgY29uc3QgZGVlcFBhcnNlZERlZmluaXRpb25zID0gZGVlcFBhcnNlSnNvbihKU09OLnN0cmluZ2lmeShkZWZpbml0aW9ucykpO1xuXG4gIGd3X2V4dGVuZENvbHVtbkRlZmluaXRpb25zKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG5cbiAgZ3JpZC5vcHRpb25zLmFwaS5zZXRDb2x1bW5EZWZzKGRlZXBQYXJzZWREZWZpbml0aW9ucyk7XG4gIGdyaWQub3B0aW9ucy5jb2x1bW5EZWZzID0gZGVlcFBhcnNlZERlZmluaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2l6ZUNvbHVtbnNUb0ZpdChpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaXplQ29sdW1uc1RvRml0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRWaXNpYmxlQ29sdW1uKGlkLCBjb2x1bW5JZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVDb2x1bW5WaXNpYmxlKGNvbHVtbklkKTtcbn1cblxuLyoqXG4gKiBTZXQgQ29sdW1uIFdpZHRoXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB3aWR0aCBUaGUgbmV3IGNvbHVtbiB3aWR0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Q29sdW1uV2lkdGgoaWQsIGNvbHVtbklkLCB3aWR0aCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5XaWR0aChjb2x1bW5JZCwgTnVtYmVyKHdpZHRoKSk7XG59XG5cbi8qKlxuICogUGluIENvbHVtblxuICpcbiAqIFBpbiBhIGNvbHVtbiB0byBhIHNwZWNpZmljIGRpcmVjdGlvblxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbklkIFRoZSBjb2x1bW4gaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBwaW4gVGhlIHBpbiBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BpbkNvbHVtbihpZCwgY29sdW1uSWQsIHBpbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5zZXRDb2x1bW5QaW5uZWQoY29sdW1uSWQsIHBpbik7XG59XG5cbi8qKlxuICogTW92ZSBDb2x1bW5cbiAqXG4gKiBNb3ZlIGNvbHVtbiB0byBhIHNwZWNpZmljIGluZGV4XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1uSWQgVGhlIGNvbHVtbiBpZFxuICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSB0b0luZGV4IFRoZSBuZXcgY29sdW1uIGluZGV4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19tb3ZlQ29sdW1uKGlkLCBjb2x1bW5JZCwgdG9JbmRleCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5tb3ZlQ29sdW1uKGNvbHVtbklkLCB0b0luZGV4KTtcbn1cblxuLyoqXG4gKiBTaG93IC8gSGlkZSBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgc2VsZWN0aW9uIGNoZWNrYm94IGlzIGFsd2F5cyBzaG93biBvbiB0aGVcbiAqIGZpcnN0IGNvbHVtblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICpcbiAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgd2hlbiBmaXJzdCBjb2x1bW4gLCBmYWxzZSBpZiBub3QgdGhlIGZpcnN0IGNvbHVtbiBvciBpZiB0aGVcbiAqICAgICAgICAgICAgICAgICAgIGdyaWQncyBgQ29udGV4dC5zaG93U2VsZWN0aW9uQ2hlY2tib3hgIGlzIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19pc1Nob3dTZWxlY3Rpb25DaGVja2JveChwYXJhbSkge1xuICBpZiAoIXBhcmFtLmNvbnRleHQuc2hvd1NlbGVjdGlvbkNoZWNrYm94KSByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgY29sdW1ucyA9IHBhcmFtLmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRWaXJ0dWFsQ29sdW1ucygpO1xuXG4gIHJldHVybiBjb2x1bW5zWzBdLmNvbERlZi5maWVsZCA9PT0gcGFyYW0uY29sRGVmLmZpZWxkO1xufVxuXG4vKipcbiAqIFNob3cgLyBIaWRlIGhlYWRlciBzZWxlY3Rpb24gY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpcnN0IGNvbHVtblxuICpcbiAqIFRoZSBmdW5jdGlvbiBtYWtlIHN1cmUgdGhhdCB0aGUgaGVhZGVyIHNlbGVjdGlvbiBjaGVja2JveCBpcyBhbHdheXMgc2hvd24gb24gdGhlXG4gKiBmaXJzdCBjb2x1bW5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1cbiAqXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIHdoZW4gZmlyc3QgY29sdW1uICwgZmFsc2UgaWYgbm90IHRoZSBmaXJzdCBjb2x1bW4gb3IgaWYgdGhlXG4gKiAgICAgICAgICAgICAgICAgICBncmlkJ3MgYENvbnRleHQuc2hvd0hlYWRlclNlbGVjdGlvbkNoZWNrYm94YCBpcyBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfaXNIZWFkZXJDaGVja2JveFNlbGVjdGlvbihwYXJhbSkge1xuICBjb25zdCBjb250ZXh0ID0gcGFyYW0uYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuXG4gIGlmICghY29udGV4dC5zaG93SGVhZGVyU2VsZWN0aW9uQ2hlY2tib3gpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCBjb2x1bW5zID0gcGFyYW0uY29sdW1uQXBpLmdldEFsbERpc3BsYXllZFZpcnR1YWxDb2x1bW5zKCk7XG5cbiAgcmV0dXJuIGNvbHVtbnNbMF0uY29sRGVmLmZpZWxkID09PSBwYXJhbS5jb2xEZWYuZmllbGQ7XG59XG5cbi8qKlxuICogRW5hYmxlIHJvdyBncm91cGluZyBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICogQHBhcmFtIHtCb29sZWFufSBzZXQgIFdoZW4gdHJ1ZSAsIGBzZXRSb3dHcm91cENvbHVtbnNgIHdpbGwgYmUgdXNlZCAsIGBhZGRSb3dHcm91cENvbHVtbnNgIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkUm93R3JvdXBDb2x1bW4oaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFJvd0dyb3VwQ29sdW1uc1wiIDogXCJhZGRSb3dHcm91cENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcm93IGdyb3VwaW5nIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVSb3dHcm91cENvbHVtbihpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVSb3dHcm91cENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0UGl2b3RNb2RlKGlkKSB7XG4gIHJldHVybiBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5pc1Bpdm90TW9kZSgpO1xufVxuXG4vKipcbiAqIEVuYWJsZSAvIGRpc2JhbGUgcGl2b3QgbW9kZSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge0Jvb2xlYW59IG1vZGUgd2hlbiB0cnVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UGl2b3RNb2RlKGlkLCBtb2RlKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuY29sdW1uQXBpXG4gICAgLnNldFBpdm90TW9kZSghIU51bWJlcihtb2RlKSk7XG59XG5cbi8qKlxuICogRW5hYmxlIHBpdm90IGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKiBAcGFyYW0ge0Jvb2xlYW59IHNldCAgV2hlbiB0cnVlICwgYGFkZFBpdm90Q29sdW1uc2Agd2lsbCBiZSB1c2VkICwgYHNldFBpdm90Q29sdW1uc2Agb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRQaXZvdENvbHVtbnMoaWQsIGNvbHVtbnMsIHNldCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVtzZXQgPyBcInNldFBpdm90Q29sdW1uc1wiIDogXCJhZGRQaXZvdENvbHVtbnNcIl0oXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIERpc2FibGUgcGl2b3QgZm9yIGNvbHVtbnNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge1N0cmluZ30gY29sdW1ucyAgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGNvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVBpdm90Q29sdW1ucyhpZCwgY29sdW1ucykge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmNvbHVtbkFwaVxuICAgIC5yZW1vdmVQaXZvdENvbHVtbnMoXG4gICAgICBjb2x1bW5zLnNwbGl0KFwiLFwiKS5tYXAoaSA9PiBpLnRyaW0oKSlcbiAgICApO1xufVxuXG4vKipcbiAqIEVuYWJsZSB2YWx1ZSBmb3IgY29sdW1uc1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2x1bW5zICBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgY29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfYWRkVmFsdWVDb2x1bW5zKGlkLCBjb2x1bW5zLCBzZXQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAuYWRkVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEaXNhYmxlIHZhbHVlIGZvciBjb2x1bW5zXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IGNvbHVtbnMgIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBjb2x1bW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19yZW1vdmVWYWx1ZUNvbHVtbnMoaWQsIGNvbHVtbnMpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5jb2x1bW5BcGlcbiAgICAucmVtb3ZlVmFsdWVDb2x1bW5zKFxuICAgICAgY29sdW1ucy5zcGxpdChcIixcIikubWFwKGkgPT4gaS50cmltKCkpXG4gICAgKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFVwZGF0ZSBjb250ZXh0IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZCBcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgVGhlIGNvbnRleHQncyBrZXkgdG8gdXBkYXRlXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgIFRoZSBuZXcgY29udGV4dCdzIHZhbHVlIFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfdXBkYXRlQ29udGV4dChpZCwga2V5LCB2YWx1ZSkge1xuXHRnd19nZXRHcmlkKGlkKVxuXHRcdC5vcHRpb25zXG5cdFx0LmNvbnRleHRba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5leHBvcnQgKiBmcm9tICcuL2luaXQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcm93cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NlbGxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29scGFuZWwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXNiYXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVybGF5cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9qc3MuanMnOyIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiAqIChjKSBCYXNpcyBFdXJvcGUgPGV1QEJhc2lzLkFnR3JpZENvbXBvbmVudHMuY29tPlxuICpcbiAqIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4gKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBnd19leHRlbmRDb2x1bW5EZWZpbml0aW9ucyB9IGZyb20gXCIuL2NvbHVtbnNcIjtcbmltcG9ydCB7IGd3X25hdmlnYXRlVG9OZXh0Um93IH0gICAgICAgZnJvbSBcIi4vcm93c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0Q29udGV4dE1lbnUgfSAgICAgICAgICBmcm9tIFwiLi9tZW51c1wiO1xuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQsIGd3X2FkZEdyaWR9ICBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIGd3X29uUm93RG91YmxlQ2xpY2tlZCxcbiAgZ3dfb25TZWxlY3Rpb25DaGFuZ2VkLFxuICBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCxcbiAgZ3dfb25DZWxsQ2xpY2tFdmVudCxcbiAgZ3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuICBnd19vblJvd0VkaXRpbmdFdmVudCxcbiAgZ3dfb25SZWFkeUV2ZW50LFxuICBnd19kZWJvdW5jZVxufSBmcm9tIFwiZXZlbnRzXCI7XG5cbmNvbnN0IHsgZGVlcFBhcnNlSnNvbiB9ID0gcmVxdWlyZShcImRlZXAtcGFyc2UtanNvblwiKTtcbmNvbnN0IHRlbXBsYXRlICAgICAgICAgID0gcmVxdWlyZSgnbG9kYXNoL3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19pbml0KG9wdGlvbnMsIGxpY2Vuc2UgLCBkYXRhKSB7XG4gIFxuICAvLyBzZXQgdGhlIGxpY2Vuc2Uga2V5IGZvciBlbnRlcnByaXNlIHZlcnNpb25cbiAgaWYgKGFnR3JpZC5MaWNlbnNlTWFuYWdlciAmJiBsaWNlbnNlKVxuICAgIGFnR3JpZC5MaWNlbnNlTWFuYWdlci5zZXRMaWNlbnNlS2V5KGxpY2Vuc2UpO1xuXG4gIGNvbnN0IGlkICAgICAgICAgICAgICA9IG9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgY29udGFpbmVyICAgICAgID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChpZCk7XG4gIC8vIHdlIG1ha2UgdGhlIGdyaWQgb3B0aW9ucyBhdmFpbGFibGUgYXMgc29vbiBhcyBwb3NzaWJsZSBcbiAgY29uc3QgZ3JpZCAgICAgICAgICAgID0gZ3dfYWRkR3JpZChpZCwge1xuICAgIGNvbnRhaW5lcixcbiAgICBvcHRpb25zXG4gIH0pO1xuXG4gIC8vIFRPRE86IHVzZSBhZyBncmlkIGRlc3Ryb3lcbiAgY29udGFpbmVyLmlubmVySFRNTCAgID0gJyc7XG5cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyAgID0gZ3dfcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICBwYXJzZWRPcHRpb25zLnJvd0RhdGEgPSBkYXRhO1xuXG4gIGNvbnN0IGluc3RhbmNlICAgICAgICA9IG5ldyBhZ0dyaWQuR3JpZChjb250YWluZXIsIHBhcnNlZE9wdGlvbnMpO1xuICBncmlkLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIGdyaWQub3B0aW9ucyAgPSBwYXJzZWRPcHRpb25zO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGAlYyBHcmlkIFske2lkfV0gc2V0dGluZ3MgOiBgXG4gICAgLCAnYmFja2dyb3VuZDogIzIyMjsgY29sb3I6ICNiYWRhNTUnXG4gICAgLCBwYXJzZWRPcHRpb25zXG4gICk7XG59XG5cbi8qKlxuICogUGFyc2UgT3B0aW9uc1xuICogXG4gKiBQYXJzZSB0aGUgZ3JpZCBvcHRpb25zIGFuZCByZXR1cm4gXG4gKiBhbiBvYmplY3Qgd2hpY2ggY2FuIGJlIHBhc3NlZCB0byB0aGUgZ3JpZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBHcmlkIG9wdGlvbnMgYXMgSnNvbiBPYmplY3RcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBvcHRpb25zIG9iamVjdFxuICovXG5mdW5jdGlvbiBnd19wYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICBjb25zdCBkZWVwUGFyc2VkT3B0aW9ucyAgICAgPSBkZWVwUGFyc2VKc29uKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgY29uc3QgaWQgICAgICAgICAgICAgICAgICAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5pZDtcbiAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZSAgID0gZGVlcFBhcnNlZE9wdGlvbnMuY29udGV4dC5nZXREYXRhUGF0aCB8fCBcIlwiO1xuICAvLyBUT0RPOiBkbyB3ZSBuZWVkIHRvIGNvbnRyb2wgdGhpcyBzZXR0aW5nIGZyb20gQkJqID9cbiAgY29uc3QgZGVib3VuY2VEdXJhdGlvbiAgICAgID0gMjUwO1xuICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7XG4gICAgLi4uZGVlcFBhcnNlZE9wdGlvbnMgLFxuICAgIC4uLntcbiAgICAgIGdldERvY3VtZW50OiAgICAgICAgICAgICgpICAgICA9PiAgIGd3X2dldERvY3VtZW50KCksXG4gICAgICBvbkNlbGxFZGl0aW5nU3RhcnRlZDogICBlICAgICAgPT4geyBnd19vbkNlbGxFZGl0aW5nRXZlbnQoaWQsIGUpIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRWRpdGluZ1N0b3BwZWQ6ICAgZSAgICAgID0+IHsgZ3dfb25DZWxsRWRpdGluZ0V2ZW50KGlkLCBlKSB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uQ2VsbFZhbHVlQ2hhbmdlZDogICAgIGUgICAgICA9PiB7IGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvblJvd0VkaXRpbmdTdGFydGVkOiAgICBlICAgICAgPT4geyBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25Sb3dFZGl0aW5nU3RvcHBlZDogICAgZSAgICAgID0+IHsgZ3dfb25Sb3dFZGl0aW5nRXZlbnQoaWQsIGUpICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uUm93VmFsdWVDaGFuZ2VkOiAgICAgIGUgICAgICA9PiB7IGd3X29uUm93RWRpdGluZ0V2ZW50KGlkLCBlKSAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBvbkNlbGxDbGlja2VkOiAgICAgICAgICBlICAgICAgPT4geyBnd19vbkNlbGxDbGlja0V2ZW50KGlkLCBlKSAgIH0gICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgb25DZWxsRG91YmxlQ2xpY2tlZDogICAgZSAgICAgID0+IHsgZ3dfb25DZWxsQ2xpY2tFdmVudChpZCwgZSkgICB9ICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIG9uR3JpZFJlYWR5OiAgICAgICAgICAgIGUgICAgICA9PiB7IGd3X29uUmVhZHlFdmVudChpZCwgZSkgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICBnZXRSb3dOb2RlSWQ6ICAgICAgICAgICBkYXRhICAgPT4gICBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICAgLFxuICAgICAgZ2V0Q29udGV4dE1lbnVJdGVtczogICAgcGFyYW1zID0+ICAgZ3dfZ2V0Q29udGV4dE1lbnUoaWQsIHBhcmFtcykgICAgICAgICAgICAgICAgICAgICAgICxcbiAgICAgIFwicG9wdXBQYXJlbnRcIjogICAgICAgICAgICAgICAgICAgICAgZ3dfZ2V0RG9jdW1lbnQoKS5ib2R5LFxuICAgICAgXCJvblJvd0RvdWJsZUNsaWNrZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJvd0RvdWJsZUNsaWNrZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblNlbGVjdGlvbkNoYW5nZWRcIjogICAgICAgICAgICAgICBnd19kZWJvdW5jZShnd19vblNlbGVjdGlvbkNoYW5nZWQsIGRlYm91bmNlRHVyYXRpb24pICAgICAgICAgLFxuICAgICAgXCJvblJhbmdlU2VsZWN0aW9uQ2hhbmdlZFwiOiAgICAgICAgICBnd19kZWJvdW5jZShnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZCAsIGRlYm91bmNlRHVyYXRpb24pICAsXG4gICAgICBcImNvbXBvbmVudHNcIjoge1xuICAgICAgICBcIkJhc2ljQm9vbGVhbnNSZW5kZXJlclwiICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0Jvb2xlYW5zUmVuZGVyZXIsXG4gICAgICAgIFwiQmFzaWNCb29sZWFuc0VkaXRvclwiICAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljQm9vbGVhbnNFZGl0b3IgICxcbiAgICAgICAgXCJCYXNpY0Jvb2xlYW5zRmlsdGVyXCIgICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNCb29sZWFuc0ZpbHRlciAgLFxuICAgICAgICBcIkJhc2ljTnVtYmVyc0VkaXRvclwiICAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY051bWJlcnNFZGl0b3IgICAsXG4gICAgICAgIFwiQmFzaWNEYXRlVGltZXNFZGl0b3JcIiAgICAgICAgOiBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLkJhc2ljRGF0ZVRpbWVzRWRpdG9yICxcbiAgICAgICAgXCJCYXNpY0RhdGVUaW1lc0ZpbHRlclwiICAgICAgICA6IEJhc2lzLkFnR3JpZENvbXBvbmVudHMuQmFzaWNEYXRlVGltZXNGaWx0ZXIgLFxuICAgICAgICBcIkJhc2ljSW1hZ2VzUmVuZGVyZXJcIiAgICAgICAgIDogQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5CYXNpY0ltYWdlc1JlbmRlcmVyICAsXG4gICAgICAgIC8vIGxvZGFzaCB0ZW1wbGF0ZSByZW5kZXJcbiAgICAgICAgXCJHV0N1c3RvbUhUTUxUZW1wbGF0ZVJlbmRlcmVyXCI6IHBhcmFtcyA9PiB7XG4gICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0ZW1wbGF0ZShwYXJhbXMuX19URU1QTEFURV9fKTtcbiAgICAgICAgICByZXR1cm4gY29tcGlsZWQoeyBwYXJhbXM6IHBhcmFtcyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBpZiAoXG4gICAgZmluYWxPcHRpb25zLmNvbnRleHQuaGFzT3duUHJvcGVydHkoXCJuYXZpZ2F0ZVRvTmV4dENlbGxcIikgJiZcbiAgICBmaW5hbE9wdGlvbnMuY29udGV4dC5uYXZpZ2F0ZVRvTmV4dENlbGxcbiAgKSB7XG4gICAgZmluYWxPcHRpb25zLm5hdmlnYXRlVG9OZXh0Q2VsbCA9IHBhcmFtcyA9PiB7IHJldHVybiBnd19uYXZpZ2F0ZVRvTmV4dFJvdyhpZCwgcGFyYW1zKSB9O1xuICB9XG5cbiAgaWYgKGdldERhdGFQYXRoVGVtcGxhdGUgJiYgZmluYWxPcHRpb25zLnRyZWVEYXRhKSB7XG4gICAgY29uc3QgZ2V0RGF0YVBhdGhUZW1wbGF0ZUNvbXBsaWVkID0gdGVtcGxhdGUoZ2V0RGF0YVBhdGhUZW1wbGF0ZSk7XG4gICAgZmluYWxPcHRpb25zLmdldERhdGFQYXRoID0gZGF0YSA9PiBnZXREYXRhUGF0aFRlbXBsYXRlQ29tcGxpZWQoeyBkYXRhOiBkYXRhIH0pO1xuICB9XG5cbiAgLy8gZXh0ZW5kIHRoZSBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgZ3dfZXh0ZW5kQ29sdW1uRGVmaW5pdGlvbnMoZmluYWxPcHRpb25zLmNvbHVtbkRlZnMpO1xuXG4gIHJldHVybiBmaW5hbE9wdGlvbnM7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/anNzIWpzcy9qc3MuanMnO1xuaW1wb3J0IHtnd19nZXREb2N1bWVudH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogRm9ybWF0ZSB0aGUgY3NzIHNlbGVjdG9yIFxuICogXG4gKiBDaGVjayBpZiB0aGUgY3NzIHNlbGVjdG9yIHN0YXJ0cyB3aXRoIGRvdCAsIGlmIG5vdCBhZGQgb25lIGFuZCByZXR1cm4gdGhlIFxuICogZm9ybWF0dGVkIG5hbWUgXG4gKiBcbiAqIEBwYXJhbSB7Kn0gc2VsZWN0b3IgXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdFNlbGVjdG9yKHNlbGVjdG9yKXtcbiAgcmV0dXJuIHNlbGVjdG9yLnN0YXJ0c1dpdGgoXCIuXCIpID8gc2VsZWN0b3IgOiBgLiR7c2VsZWN0b3J9YDtcbn1cblxuLyoqXG4gKiBBZGQgbmV3IHN0eWxlIFxuICogXG4gKiBBZGQgbmV3IHN0eWxlIHRvIHRoZSBkb2N1bWVudCBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yIGNzcyBzZWxlY3RvclxuICogQHBhcmFtIHtTdHJpbmd9IHJ1bGVzIEpzb24gc3RyaW5nIGZvciBhbiBhcnJheSBvZiBydWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3R5bGUoc2VsZWN0b3IsIHJ1bGVzKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5zZXQoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpLCBKU09OLnBhcnNlKHJ1bGVzKSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIHN0eWxlXG4gKiBcbiAqIFJlbW92ZSBhZGRlZCBzdHlsZSBmcm9tIHRoZXMgZG9jdW1lbnQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3RvciBjc3Mgc2VsZWN0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3JlbW92ZVN0eWxlKHNlbGVjdG9yKSB7XG4gIGpzcy5mb3JEb2N1bWVudChnd19nZXREb2N1bWVudCgpKS5yZW1vdmUoZm9ybWF0U2VsZWN0b3Ioc2VsZWN0b3IpKTtcbn1cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiXG5pbXBvcnQge1xuICBnd19wYXJzZU5vZGVGcm9tRXZlbnQsXG4gIGd3X3NlbmRFdmVudFxufSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0Q29udGV4dE1lbnUoZ3JpZElkLCBwYXJhbXMpIHtcblxuICBjb25zdCBidWlsZENvbnRleHRNZW51QWN0aW9uID0gKHBhcmFtcywgaWQpID0+IHtcblxuICAgIHJldHVybiAoKSA9PiB7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQocGFyYW1zKTtcbiAgICAgIGNvbnN0IGNvbElkID0gcGFyYW1zLmNvbHVtbi5jb2xJZDtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zLnZhbHVlO1xuXG4gICAgICBnd19zZW5kRXZlbnQoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dCwge1xuICAgICAgICAndHlwZSc6ICdndy5jb250ZXh0bWVudScsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7IHJvdzogbm9kZSwgY29sdW1uOiBjb2xJZCwgdmFsdWUsIGlkIH0pXG4gICAgICB9LCBpZCk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBwYXJzZU1lbnUgPSAobWVudSkgPT4ge1xuICAgIG1lbnUuZm9yRWFjaChpdGVtID0+IHtcblxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykgcmV0dXJuO1xuXG4gICAgICBpdGVtWydhY3Rpb24nXSA9IGJ1aWxkQ29udGV4dE1lbnVBY3Rpb24ocGFyYW1zLCBpdGVtLmlkKTtcblxuICAgICAgaWYgKGl0ZW1bJ2Nzc0NsYXNzZXMnXSAmJiAhQXJyYXkuaXNBcnJheShpdGVtWydjc3NDbGFzc2VzJ10pKVxuICAgICAgICBpdGVtWydjc3NDbGFzc2VzJ10gPSBpdGVtWydjc3NDbGFzc2VzJ10uc3BsaXQoXCIgXCIpO1xuXG4gICAgICBpZiAoaXRlbVsnc3ViTWVudSddKSBpdGVtWydzdWJNZW51J10gPSBwYXJzZU1lbnUoaXRlbVsnc3ViTWVudSddKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZW51O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZU1lbnUoZ3dfZ2V0R3JpZChncmlkSWQpLm9wdGlvbnMuY29udGV4dC5jb250ZXh0TWVudSk7XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuLyoqXG4gKiBTaG93IGxvYWRpbmcgb3ZlcmxheVxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgdGhlIGdyaWQgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3Nob3dMb2FkaW5nT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zaG93TG9hZGluZ092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBTaG93ICdubyByb3dzJyBvdmVybGF5XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2hvd05vUm93c092ZXJsYXkoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuc2hvd05vUm93c092ZXJsYXkoKTtcbn1cblxuLyoqXG4gKiBDbGVhciBhbGwgb3ZlcmxheXNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19oaWRlT3ZlcmxheShpZCkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5oaWRlT3ZlcmxheSgpO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBCYXNpcy5BZ0dyaWRDb21wb25lbnRzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19wYXJzZU5vZGUgfSBmcm9tIFwiZXZlbnRzL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0UXVpY2tGaWx0ZXIoaWQsIGZpbHRlcikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRRdWlja0ZpbHRlcihmaWx0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZXhwYW5kQWxsKGlkKSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLmV4cGFuZEFsbCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfY29sbGFwc2VBbGwoaWQpIHtcbiAgZ3dfZ2V0R3JpZChpZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY29sbGFwc2VBbGwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFZpc2libGVSb3coaWQsIGluZGV4LCBwb3NpdGlvbikge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5lbnN1cmVJbmRleFZpc2libGUoaW5kZXgsIHBvc2l0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X25hdmlnYXRlVG9OZXh0Um93KGlkLCBwYXJhbXMpIHtcblxuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgbGV0IHByZXZpb3VzQ2VsbCA9IHBhcmFtcy5wcmV2aW91c0NlbGxQb3NpdGlvbjtcbiAgbGV0IHN1Z2dlc3RlZE5leHRDZWxsID0gcGFyYW1zLm5leHRDZWxsUG9zaXRpb247XG5cbiAgY29uc3QgS0VZX1VQID0gMzg7XG4gIGNvbnN0IEtFWV9ET1dOID0gNDA7XG4gIGNvbnN0IEtFWV9MRUZUID0gMzc7XG4gIGNvbnN0IEtFWV9SSUdIVCA9IDM5O1xuXG4gIHN3aXRjaCAocGFyYW1zLmtleSkge1xuICAgIGNhc2UgS0VZX0RPV046XG4gICAgICAvLyBzZXQgc2VsZWN0ZWQgY2VsbCBvbiBjdXJyZW50IGNlbGwgKyAxXG4gICAgICBvcHRpb25zLmFwaS5mb3JFYWNoTm9kZSgobm9kZSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNDZWxsLnJvd0luZGV4ICsgMSA9PT0gbm9kZS5yb3dJbmRleCkge1xuICAgICAgICAgIG5vZGUuc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGNhc2UgS0VZX1VQOlxuICAgICAgLy8gc2V0IHNlbGVjdGVkIGNlbGwgb24gY3VycmVudCBjZWxsIC0gMVxuICAgICAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUoKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ2VsbC5yb3dJbmRleCAtIDEgPT09IG5vZGUucm93SW5kZXgpIHtcbiAgICAgICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWdnZXN0ZWROZXh0Q2VsbDtcbiAgICBjYXNlIEtFWV9MRUZUOlxuICAgIGNhc2UgS0VZX1JJR0hUOlxuICAgICAgcmV0dXJuIHN1Z2dlc3RlZE5leHRDZWxsO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgaGF2ZSBzdXBlciBzdHJhbmdlIGtleWJvYXJkXCIpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRSb3dOb2RlSWQoaWQsIGRhdGEpIHtcbiAgcmV0dXJuIGRhdGFbZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LmdldFJvd05vZGVJZF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dzRGF0YShpZCwganNvbikge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcblxuICBvcHRpb25zLmFwaS5zZXRSb3dEYXRhKGpzb24pO1xuICBvcHRpb25zLnJvd0RhdGEgPSBqc29uO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0Um93RGF0YShpZCwgcm93KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyB1cGRhdGU6IFtyb3ddIH0pO1xuICBvcHRpb25zLmFwaS5yZWZyZXNoQ2xpZW50U2lkZVJvd01vZGVsKCdncm91cCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfcmVtb3ZlUm93cyhpZCwgaW5kZXhlcykge1xuICBjb25zdCBvcHRpb25zID0gZ3dfZ2V0R3JpZChpZCkub3B0aW9ucztcbiAgbGV0IGl0ZW1zID0gW107XG5cbiAgaW5kZXhlcy5mb3JFYWNoKGluZGV4ID0+IHtcbiAgICBpdGVtcy5wdXNoKG9wdGlvbnMuYXBpLmdldFJvd05vZGUoaW5kZXgpLmRhdGEpO1xuICB9KTtcblxuICBvcHRpb25zLmFwaS51cGRhdGVSb3dEYXRhKHsgcmVtb3ZlOiBpdGVtcyB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X2FkZFJvd3MoaWQsIGluZGV4LCByb3dzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIG9wdGlvbnMuYXBpLnVwZGF0ZVJvd0RhdGEoeyBhZGQ6IHJvd3MsIGFkZEluZGV4OiBpbmRleCB9KTtcbiAgb3B0aW9ucy5hcGkucmVmcmVzaENsaWVudFNpZGVSb3dNb2RlbCgnZ3JvdXAnKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIGhlaWdodCBvZiBhbGwgcm93cyBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIHRoZSBncmlkIGlkXG4gKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IHRoZSByb3cgaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dzSGVpZ2h0KGlkLCBoZWlnaHQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGUocm93ID0+IHtcbiAgICByb3cuc2V0Um93SGVpZ2h0KGhlaWdodCk7XG4gIH0pO1xuICBvcHRpb25zLmFwaS5vblJvd0hlaWdodENoYW5nZWQoKTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIGdpdmVuIHJvdyBoZWlnaHQgXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZ3JpZCBpZCBcbiAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCB0aGUgcm93IGluZGV4XG4gKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IHRoZSBuZXcgaGVpZ2h0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRSb3dIZWlnaHQoaWQsIGluZGV4LCBoZWlnaHQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IHJvdyA9IG9wdGlvbnMuYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgoaW5kZXgpO1xuXG4gIGlmIChyb3cpIHtcbiAgICByb3cuc2V0Um93SGVpZ2h0KGhlaWdodCk7XG4gICAgb3B0aW9ucy5hcGkub25Sb3dIZWlnaHRDaGFuZ2VkKCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2V0IGhlaWdodCBmb3Igcm93ICR7aW5kZXh9LiBSb3cgY2FuIG5vdCBiZSBmb3VuZGApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTZWxlY3RlZFJvd3MoaWQsIHJvd3MpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgb3B0aW9ucy5hcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlckFuZFNvcnQobm9kZSA9PiB7XG4gICAgaWYgKHJvd3MuaW5kZXhPZihub2RlLnJvd0luZGV4KSA+IC0xKSB7XG4gICAgICBub2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgbm9kZS5leHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9KTtcbiAgb3B0aW9ucy5hcGkub25Hcm91cEV4cGFuZGVkT3JDb2xsYXBzZWQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NlbGVjdEFsbChpZCwgZmlsdGVyZWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgaWYgKDEgPT09IGZpbHRlcmVkKSB7XG4gICAgb3B0aW9ucy5hcGkuc2VsZWN0QWxsRmlsdGVyZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZGVzZWxlY3RBbGwoaWQsIGZpbHRlcmVkKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnd19nZXRHcmlkKGlkKS5vcHRpb25zO1xuXG4gIGlmICgxID09PSBmaWx0ZXJlZCkge1xuICAgIG9wdGlvbnMuYXBpLmRlc2VsZWN0QWxsRmlsdGVyZWQoKTtcbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmFwaS5kZXNlbGVjdEFsbCgpO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBjdXJyZW50IHNlbGVjdGVkIHJvd3NcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSAgc2VsZWN0ZWQgcm93cyBhcyBKU09OXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRTZWxlY3RlZFJvd3MoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IG5vZGVzID0gb3B0aW9ucy5hcGkuZ2V0U2VsZWN0ZWROb2RlcygpO1xuICBsZXQgcGFyc2VkID0gW107XG5cbiAgbm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICBwYXJzZWQucHVzaChnd19wYXJzZU5vZGUobm9kZSwgb3B0aW9ucy5jb250ZXh0KSk7XG4gIH0pO1xuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShwYXJzZWQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbGFzdCBzZWxlY3RlZCByb3dcbiAqIFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIGdyaWQncyBpZFxuICogXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBzZWxlY3RlZCByb3cgYXMgSlNPTlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U2VsZWN0ZWRSb3coaWQpIHtcbiAgY29uc3Qgcm93cyA9IEpTT04ucGFyc2UoZ3dfZ2V0U2VsZWN0ZWRSb3dzKGlkKSk7XG5cbiAgaWYgKHJvd3MubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJvd3Nbcm93cy5sZW5ndGggLSAxXSk7XG4gIH1cblxuICByZXR1cm4gJyc7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgeyBnd19nZXRHcmlkIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19zZXRTdGF0ZShpZCwgc3RhdGUpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG5cbiAgdHJ5IHtcbiAgICBvcHRpb25zLmNvbHVtbkFwaS5zZXRDb2x1bW5TdGF0ZShzdGF0ZS5jb2x1bW5zKTtcbiAgICBvcHRpb25zLmNvbHVtbkFwaS5zZXRDb2x1bW5Hcm91cFN0YXRlKHN0YXRlLmdyb3Vwcyk7XG4gICAgb3B0aW9ucy5hcGkuc2V0U29ydE1vZGVsKHN0YXRlLnNvcnQpO1xuICAgIG9wdGlvbnMuYXBpLnNldEZpbHRlck1vZGVsKHN0YXRlLmZpbHRlcnMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcGFyc2UgZ3JpZCBzdGF0ZSBmcm9tIEpTT04nLCBlKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0U3RhdGUoaWQpIHtcbiAgY29uc3Qgb3B0aW9ucyA9IGd3X2dldEdyaWQoaWQpLm9wdGlvbnM7XG4gIGNvbnN0IGNvbHVtbnMgPSBvcHRpb25zLmNvbHVtbkFwaS5nZXRDb2x1bW5TdGF0ZSgpO1xuICBjb25zdCBncm91cHMgPSBvcHRpb25zLmNvbHVtbkFwaS5nZXRDb2x1bW5Hcm91cFN0YXRlKCk7XG4gIGNvbnN0IHNvcnQgPSBvcHRpb25zLmFwaS5nZXRTb3J0TW9kZWwoKTtcbiAgY29uc3QgZmlsdGVycyA9IG9wdGlvbnMuYXBpLmdldEZpbHRlck1vZGVsKCk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29sdW1ucyxcbiAgICAgIGdyb3VwcyxcbiAgICAgIHNvcnQsXG4gICAgICBmaWx0ZXJzXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBjb252ZXJ0IHRoZSBncmlkIHN0YXRlIHRvIGpzb24nLCBlKTtcbiAgfVxufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0R3JpZCB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0U3RhdHVzYmFyQ29tcG9uZW50VmlzaWJpbGl0eShpZCwga2V5LCB2aXNpYmlsaXR5KSB7XG5cdGd3X2dldEdyaWQoaWQpXG5cdFx0Lm9wdGlvbnNcblx0XHQuYXBpXG5cdFx0LmdldFN0YXR1c1BhbmVsKGtleSlcblx0XHQuc2V0VmlzaWJsZShCb29sZWFuKHZpc2liaWxpdHkpKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGd3X3NldFNpZGVCYXJWaXNpYmxlKGlkLCB2YWx1ZSkge1xuICBnd19nZXRHcmlkKGlkKVxuICAgIC5vcHRpb25zXG4gICAgLmFwaVxuICAgIC5zZXRTaWRlQmFyVmlzaWJsZShCb29sZWFuKHZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnd19vcGVuVG9vbHBhbmVsKGdyaWRJZCwgdG9vbHBhbmVsSWQpIHtcbiAgZ3dfZ2V0R3JpZChncmlkSWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLm9wZW5Ub29sUGFuZWwodG9vbHBhbmVsSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfY2xvc2VUb29scGFuZWwoZ3JpZElkLCB0b29scGFuZWxJZCkge1xuICBnd19nZXRHcmlkKGdyaWRJZClcbiAgICAub3B0aW9uc1xuICAgIC5hcGlcbiAgICAuY2xvc2VUb29sUGFuZWwodG9vbHBhbmVsSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3dfc2V0RnVuY3Rpb25zUmVhZE9ubHkoaWQsIHJlYWRvbmx5KSB7XG4gIGd3X2dldEdyaWQoaWQpXG4gICAgLm9wdGlvbnNcbiAgICAuYXBpXG4gICAgLnNldEZ1bmN0aW9uc1JlYWRPbmx5KEJvb2xlYW4ocmVhZG9ubHkpKTtcbn0iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAQmFzaXMuQWdHcmlkQ29tcG9uZW50cy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuLyoqXG4gKiBHZXQgZG9jdW1lbnQgXG4gKiBcbiAqIEdldCB0aGUgZG9jdW1lbnQgaW5zdGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IEJCaiBlbnZcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBEb2N1bWVudCBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfZ2V0RG9jdW1lbnQoKSB7XG4gIHJldHVybiB0eXBlb2YgJGRvYyAhPT0gJ3VuZGVmaW5lZCcgPyAkZG9jIDogZG9jdW1lbnQ7XG59XG5cbi8qKlxuICogR2V0IHdpbmRvdyBcbiAqIFxuICogR2V0IHRoZSB3aW5kb3cgaW5zdGFuY2UgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IEJCaiBlbnZcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fSBXaW5kb3cgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2dldFdpbmRvdygpIHtcbiAgcmV0dXJuIHR5cGVvZiAkd2luICE9PSAndW5kZWZpbmVkJyA/ICR3aW4gOiB3aW5kb3c7XG59XG5cbi8qKlxuICogRXNjYXBlIFZhbHVlIFxuICogXG4gKiBDaGFuZ2UgbnVsbCBhbmQgdW5kZWZpbmVkIHRvIGVtcHR5IHN0cmluZyBcbiAqIFxuICogQHBhcmFtIHsqfSB2YWx1ZSBcbiAqIFxuICogQHJldHVybiB7U3RyaW5nfSBlc2NhcGVkIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19lc2NhcGUodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6ICcnO1xufVxuXG4vKipcbiAqIEdldCBHcmlkIFxuICogXG4gKiBSZXRyaWV2ZSB0aGUgZ3JpZCBpbnN0YW5jZSBmcm9tIGB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0YCBhcnJheSBcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIFxuICogQHJldHVybiB7T2JqZWN0fG51bGx9IFRoZSBncmlkJ3MgaW5zdGFuY2Ugb2ZyIG51bGxcbiAqIEB0aHJvd3MgVHlwZUVycm9yIHdoZW4gdGhlIGdyaWQgaW5zdGFuY2UgaXMgbm90IGZvdW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19nZXRHcmlkKGlkKSB7XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgPSB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0IHx8IHt9O1xuICBjb25zdCBncmlkID0gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRbaWRdIHx8IG51bGw7XG5cbiAgaWYgKCFncmlkKSB7XG4gICAgY29uc3QgcmVnaXN0ZXJlZEdyaWRzID0gSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmtleXMod2luZG93LkJCakdyaWRFeFdpZGdldCkpO1xuICAgIC8vZ2V0RnVuY0FyZ3MoZnVuYykuZm9yRWFjaCgoa2V5LCBpKSA9PiBhcmdzT2JqW2tleV0gPSBhcmdzW2ldKTtcbiAgICBcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuYFxcblxcbltHcmlkIE5vdCBGb3VuZF0gVGhlIG1ldGhvZCBhc2tlZCBmb3Igbm9uLWV4aXN0ZW50IGdyaWQgaW5zdGFuY2UuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXF1aXJlZCBHcmlkIElkIDogJHtpZH0gICBcblJlZ2lzdGVyZWQgR3JpZHMgOiAke3JlZ2lzdGVyZWRHcmlkc31cbmApO1xuICB9XG4gIFxuICByZXR1cm4gZ3JpZDtcbn1cblxuLyoqXG4gKiBBZGQgR3JpZCBcbiAqIFxuICogU3RvcmUgYSBuZXcgZ3JpZCBpbnN0YW5jZSBieSBpbiB0aGUgYHdpbmRvdy5CQmpHcmlkRXhXaWRnZXRgIGFycmF5IFxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgIFRoZSBncmlkJ3Mgb3B0aW9uc1xuICogXG4gKiBAcmV0dXJuIHtPYmplY3R9IFN0b3JlZCBncmlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19hZGRHcmlkKGlkLCBvcHRpb25zKSB7XG4gIHdpbmRvdy5CQmpHcmlkRXhXaWRnZXQgPSB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0IHx8IHt9O1xuICB3aW5kb3cuQkJqR3JpZEV4V2lkZ2V0W2lkXSA9IG9wdGlvbnM7XG4gIFxuICByZXR1cm4gZ3dfZ2V0R3JpZChpZCk7XG59IiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG4vLyBzZWxlY3Rpb24gY29uc3RhbnRzXG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0NMSUNLID0gNjk7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0RPVUJMRV9DTElDSyA9IDUyO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfQ0xJQ0sgPSA1MDAxO1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLID0gNTAwMjtcblxuLy8gZWRpdGluZyBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCA9IDUwMDM7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQgPSA1MDA0O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX0NFTExfVkFMVUVfQ0hBTkdFRCA9IDUwMDU7XG5leHBvcnQgY29uc3QgR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RBUlRFRCAgPSA1MDA2O1xuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRUQgPSA1MDA3O1xuXG4vLyBzdGF0ZSBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRSA9IDUwMDg7XG5cbi8vIHJhbmdlIHNlbGVjdGlvblxuZXhwb3J0IGNvbnN0IEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEID0gNTAwOTsiLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfcGFyc2VOb2RlRnJvbUV2ZW50IH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBnd19lc2NhcGUsIGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUQVJURUQsXG4gIEdXX0VWRU5UX0NFTExfRURJVElOR19TVE9QUEVELFxuICBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQsXG4gIEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQsXG4gIEdXX0VWRU5UX1JPV19FRElUSU5HX1NUT1BQRURcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IENFTExfRURJVElOR19FVkVOVFNfTUFQID0ge1xuICAnY2VsbEVkaXRpbmdTdGFydGVkJyAgOiBHV19FVkVOVF9DRUxMX0VESVRJTkdfU1RBUlRFRCxcbiAgJ2NlbGxFZGl0aW5nU3RvcHBlZCcgIDogR1dfRVZFTlRfQ0VMTF9FRElUSU5HX1NUT1BQRUQsXG4gICdjZWxsVmFsdWVDaGFuZ2VkJyAgOiBHV19FVkVOVF9DRUxMX1ZBTFVFX0NIQU5HRUQsXG59O1xuXG5jb25zdCBST1dfRURJVElOR19FVkVOVFNfTUFQID0ge1xuICAncm93RWRpdGluZ1N0YXJ0ZWQnICA6IEdXX0VWRU5UX1JPV19FRElUSU5HX1NUQVJURUQsXG4gICdyb3dFZGl0aW5nU3RvcHBlZCcgIDogR1dfRVZFTlRfUk9XX0VESVRJTkdfU1RPUFBFRCxcbn07XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYGNlbGxFZGl0aW5nU3RhcnRlZGAgLCBgY2VsbEVkaXRpbmdTdG9wcGVkYCBhbmQgXG4gKiBgY2VsbFZhbHVlQ2hhbmdlZGAgZXZlbnRzXG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxFZGl0aW5nU3RvcHBlZFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxWYWx1ZUNoYW5nZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxFZGl0aW5nU3RhcnRlZFxuICogQGZpcmVzIGd3LmNlbGxFZGl0aW5nU3RvcHBlZFxuICogQGZpcmVzIGd3LmNlbGxWYWx1ZUNoYW5nZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbEVkaXRpbmdFdmVudChpZCwgZSkge1xuXG4gIGNvbnN0IHZhbHVlID0gZ3dfZXNjYXBlKGUubmV3VmFsdWUpIHx8IGd3X2VzY2FwZShlLnZhbHVlKTtcbiAgY29uc3Qgb2xkVmFsdWUgPSBnd19lc2NhcGUoZS5vbGRWYWx1ZSkgfHwgZ3dfZXNjYXBlKGUubmV3VmFsdWUpIHx8IGd3X2VzY2FwZShlLnZhbHVlKTtcblxuICAvL2lmICh2YWx1ZSA9PT0gb2xkVmFsdWUpIHJldHVybjtcblxuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG4gIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gIGNvbnN0IGNvbElkID0gZS5jb2x1bW4uY29sSWQ7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGd3X3NlbmRFdmVudChcbiAgICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICAgIHtcbiAgICAgICAgJ3R5cGUnOiBgZ3cuJHt0eXBlfWAsXG4gICAgICAgICdkZXRhaWwnOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgcm93OiBwYXJzZWQsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgICAgY29sdW1uOiBjb2xJZFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIENFTExfRURJVElOR19FVkVOVFNfTUFQW3R5cGVdXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGhhbmRsZXIgZm9yIHRoZSBncmlkIGByb3dFZGl0aW5nU3RhcnRlZGAgLCBgcm93RWRpdGluZ1N0b3BwZWRgIGV2ZW50c1xuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dFZGl0aW5nU3RhcnRlZFxuICogQGxpc3RlbnMgYWdHcmlkLnJvd0VkaXRpbmdTdG9wcGVkXG4gKiBcbiAqIEBmaXJlcyBndy5yb3dFZGl0aW5nU3RhcnRlZFxuICogQGZpcmVzIGd3LnJvd0VkaXRpbmdTdG9wcGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJvd0VkaXRpbmdFdmVudChpZCwgZSkge1xuICBjb25zdCBwYXJzZWQgPSBnd19wYXJzZU5vZGVGcm9tRXZlbnQoZSk7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIGNvbnN0IHR5cGUgPSBlLnR5cGU7XG4gICAgZ3dfc2VuZEV2ZW50KFxuICAgICAgZ3dfZ2V0R3JpZChpZCkub3B0aW9ucy5jb250ZXh0LFxuICAgICAge1xuICAgICAgICAndHlwZSc6IGBndy4ke2UudHlwZX1gLFxuICAgICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkocGFyc2VkKVxuICAgICAgfSxcbiAgICAgIFJPV19FRElUSU5HX0VWRU5UU19NQVBbdHlwZV1cbiAgICApO1xuICB9XG59XG5cbiIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHtcblx0Z3dfb25Sb3dEb3VibGVDbGlja2VkLFxuXHRnd19vblNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uQ2VsbENsaWNrRXZlbnQsXG5cdGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkXG59IGZyb20gXCIuL3NlbGVjdGlvbnNcIjtcblxuaW1wb3J0IHtcblx0Z3dfb25DZWxsRWRpdGluZ0V2ZW50LFxuXHRnd19vblJvd0VkaXRpbmdFdmVudFxufSBmcm9tIFwiLi9lZGl0aW5nXCI7XG5cbmltcG9ydCB7XG5cdGd3X29uUmVhZHlFdmVudFxufSBmcm9tIFwiLi9zdGF0ZVwiO1xuXG5pbXBvcnQge1xuXHRnd19kZWJvdW5jZVxufSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcblxuZXhwb3J0IHtcblx0Z3dfb25Sb3dEb3VibGVDbGlja2VkLFxuXHRnd19vblNlbGVjdGlvbkNoYW5nZWQsXG5cdGd3X29uUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLFxuXHRnd19vbkNlbGxDbGlja0V2ZW50LFxuXHRnd19vbkNlbGxFZGl0aW5nRXZlbnQsXG5cdGd3X29uUm93RWRpdGluZ0V2ZW50LFxuXHRnd19vblJlYWR5RXZlbnQsXG5cdGd3X2RlYm91bmNlXG59OyIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfc2VuZEV2ZW50LCBnd19wYXJzZU5vZGVGcm9tRXZlbnQgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2VzY2FwZSwgZ3dfZ2V0R3JpZCB9IGZyb20gXCJhcGkvdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBHV19FVkVOVF9ST1dfQ0xJQ0ssXG4gIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfQ0xJQ0ssXG4gIEdXX0VWRU5UX0NFTExfRE9VQkxFX0NMSUNLLFxuICBHV19FVkVOVF9SQU5HRV9TRUxFQ1RJT05fQ0hBTkdFRFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgQ0VMTF9DTElDS0lOR19FVkVOVFNfTUFQID0ge1xuICAnY2VsbENsaWNrZWQnOiBHV19FVkVOVF9DRUxMX0NMSUNLLFxuICAnY2VsbERvdWJsZUNsaWNrZWQnOiBHV19FVkVOVF9DRUxMX0RPVUJMRV9DTElDSyxcbn07XG5cbi8qKlxuICogQW4gaGFuZGxlciBmb3IgdGhlIGdyaWQgYHJvd0RvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIFRoZSBmdW5jdGlvbiB3aWxsIHNlbmQgYSBiYmogZXZlbnQgd2l0aCBgR1dfTk9ERWAgYXMgcGF5bG9hZFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZXZlbnQncyBwYXlsb2FkXG4gKiBcbiAqIEBsaXN0ZW5zIGFnR3JpZC5yb3dEb3VibGVDbGlja2VkXG4gKiBAZmlyZXMgZ3cucm93RG91YmxlQ2xpY2tcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uUm93RG91YmxlQ2xpY2tlZChlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBlLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcbiAgZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHtcbiAgICAndHlwZSc6ICdndy5yb3dEb3VibGVDbGljaycsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JPV19ET1VCTEVfQ0xJQ0spO1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgdGhlIGdyaWQgYHNlbGVjdGlvbkNoYW5nZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc2VsZWN0aW9uQ2hhbmdlZFxuICogQGZpcmVzIGd3LnJvd1NlbGVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TZWxlY3Rpb25DaGFuZ2VkKGUpIHtcbiAgY29uc3QgY29udGV4dCA9IGUuYXBpLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5jb250ZXh0O1xuICBnd19zZW5kRXZlbnQoY29udGV4dCwge1xuICAgICd0eXBlJzogJ2d3LnJvd1NlbGVjdCcsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JPV19DTElDSyk7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgcmFuZ2VTZWxlY3Rpb25DaGFuZ2VkYCBldmVudFxuICogXG4gKiBAcGFyYW0ge09iamVjdH0gZSBcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLnJhbmdlU2VsZWN0aW9uQ2hhbmdlZFxuICogQGZpcmVzIGd3LnJhbmdlU2VsZWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJhbmdlU2VsZWN0aW9uQ2hhbmdlZChlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBlLmFwaS5ncmlkT3B0aW9uc1dyYXBwZXIuZ3JpZE9wdGlvbnMuY29udGV4dDtcbiAgZ3dfc2VuZEV2ZW50KGNvbnRleHQsIHtcbiAgICAndHlwZSc6ICdndy5yYW5nZVNlbGVjdGlvbicsXG4gICAgJ2RldGFpbCc6ICcnXG4gIH0sIEdXX0VWRU5UX1JBTkdFX1NFTEVDVElPTl9DSEFOR0VEKTtcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIHRoZSBncmlkIGBjZWxsQ2xpY2tFdmVudGAgJiBgY2VsbERvdWJsZUNsaWNrZWRgIGV2ZW50XG4gKiBcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZCBUaGUgZ3JpZCdzIGlkXG4gKiBAcGFyYW0ge09iamVjdH0gZSAgVGhlIGV2ZW50IHBheWxvYWRcbiAqIFxuICogQGxpc3RlbnMgYWdHcmlkLmNlbGxDbGlja0V2ZW50XG4gKiBAbGlzdGVucyBhZ0dyaWQuY2VsbERvdWJsZUNsaWNrZWRcbiAqIFxuICogQGZpcmVzIGd3LmNlbGxDbGlja2VkXG4gKiBAZmlyZXMgZ3cuY2VsbERvdWJsZUNsaWNrZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X29uQ2VsbENsaWNrRXZlbnQoaWQsIGUpIHtcbiAgY29uc3QgcGFyc2VkID0gZ3dfcGFyc2VOb2RlRnJvbUV2ZW50KGUpO1xuXG4gIGlmIChwYXJzZWQpIHtcbiAgICBjb25zdCB0eXBlID0gZS50eXBlO1xuICAgIGd3X3NlbmRFdmVudChnd19nZXRHcmlkKGlkKS5vcHRpb25zLmNvbnRleHQsIHtcbiAgICAgICd0eXBlJzogYGd3LiR7ZS50eXBlfWAsXG4gICAgICAnZGV0YWlsJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByb3c6IHBhcnNlZCxcbiAgICAgICAgdmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgb2xkVmFsdWU6IGd3X2VzY2FwZShlLnZhbHVlKSxcbiAgICAgICAgY29sdW1uOiBlLmNvbHVtbi5jb2xJZFxuICAgICAgfSlcbiAgICB9LCBDRUxMX0NMSUNLSU5HX0VWRU5UU19NQVBbdHlwZV0pO1xuICB9XG59XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbmltcG9ydCB7IGd3X3NlbmRFdmVudCwgZ3dfZGVib3VuY2UgfSBmcm9tIFwiLi91dGlsaXRpZXNcIjtcbmltcG9ydCB7IGd3X2dldEdyaWQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuaW1wb3J0IHtcbiAgR1dfRVZFTlRfR1JJRF9TVEFURV9DSEFOR0Vcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogT24gUmVhZHkgRXZlbnQgXG4gKiBcbiAqIFRoZSBtZXRob2Qgd2lsbCBpZ25vcmUgZmlyc3QgcmVhZHkgZXZlbnQgYW5kIHRoZW4gcmVnaXN0ZXIgYSBkZWJvdW5jZWQgc3RhdGVcbiAqIGNhbGxiYWNrIHRvIHNlbmQgc3RhdGUgZXZlbnRzIHRvIEJCalxuICogXG4gKiBAcGFyYW0ge1N0cmluZ30gaWQgVGhlIGdyaWQncyBpZFxuICogQHBhcmFtIHtPYmplY3R9IGUgIFRoZSBldmVudCBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19vblJlYWR5RXZlbnQoaWQsIGUpIHtcblxuICAvLyByZWdpc3RlciBzdGF0ZSBkZWJvdW5jZSBtb25pdG9yIFxuICBjb25zdCBzdGF0ZURlYm91bmNlID0gZ3dfZGVib3VuY2UoY2hhbmdlRXZlbnQgPT4ge1xuXG4gICAgLy8gV2Ugc2tpcCB0aGUgZmlyc3QgcmVuZGVyIHN0YXRlIGNoYW5nZXNcbiAgICAvLyBpZiAoIWd3X2dldEdyaWQoaWQpLmhhc093blByb3BlcnR5KCdpc0ZpcnN0UmVuZGVyJykpIHtcbiAgICAvLyBcdGd3X2dldEdyaWQoaWQpLmlzRmlyc3RSZW5kZXIgPSB0cnVlO1xuICAgIC8vIFx0cmV0dXJuO1xuICAgIC8vIH1cblxuICAgIGd3X29uU3RhdGVDaGFuZ2VkKGlkLCBjaGFuZ2VFdmVudCk7XG4gIH0sIDUwMCk7XG5cbiAgW1xuICAgICdzb3J0Q2hhbmdlZCcsXG4gICAgJ2ZpbHRlckNoYW5nZWQnLFxuICAgICdjb2x1bW5WaXNpYmxlJyxcbiAgICAnY29sdW1uUGlubmVkJyxcbiAgICAnY29sdW1uUmVzaXplZCcsXG4gICAgJ2NvbHVtbk1vdmVkJyxcbiAgICAnbmV3Q29sdW1uc0xvYWRlZCcsXG4gICAgJ2dyaWRDb2x1bW5zQ2hhbmdlZCcsXG4gICAgJ2Rpc3BsYXllZENvbHVtbnNDaGFuZ2VkJyxcbiAgICAndmlydHVhbENvbHVtbnNDaGFuZ2VkJyxcbiAgICAnY29sdW1uRXZlcnl0aGluZ0NoYW5nZWQnLFxuICAgIC8vJ2dyaWRTaXplQ2hhbmdlZCcsXG4gICAgJ2V4cGFuZE9yQ29sbGFwc2VBbGwnLFxuICAgIC8vJ3Rvb2xQYW5lbFZpc2libGVDaGFuZ2VkJ1xuICBdLmZvckVhY2goZXZlbnQgPT4ge1xuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIHN0YXRlRGVib3VuY2UpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBBbiBoYW5kbGVyIGZvciB0aGUgZ3JpZCBgc3RhdGVDaGFuZ2VkYCBldmVudHNcbiAqIFxuICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBncmlkJ3MgaWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBlICBUaGUgZXZlbnQgcGF5bG9hZFxuICogXG4gKiBAbGlzdGVucyBhZ0dyaWQuc3RhdGVDaGFuZ2VkXG4gKiBAbGlzdGVucyBhZ0dyaWQucm93RWRpdGluZ1N0b3BwZWRcbiAqIFxuICogQGZpcmVzIGd3LnN0YXRlQ2hhbmdlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3dfb25TdGF0ZUNoYW5nZWQoaWQsIGUpIHtcbiAgZ3dfc2VuZEV2ZW50KFxuICAgIGd3X2dldEdyaWQoaWQpLm9wdGlvbnMuY29udGV4dCxcbiAgICB7XG4gICAgICAndHlwZSc6ICdndy5zdGF0ZUNoYW5nZWQnLFxuICAgICAgJ2RldGFpbCc6IFtdXG4gICAgfSxcbiAgICBHV19FVkVOVF9HUklEX1NUQVRFX0NIQU5HRVxuICApO1xufSIsIi8qXG4qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBCQmpHcmlkRXhXaWRnZXQgcGx1Z2luLlxuKiAoYykgQmFzaXMgRXVyb3BlIDxldUBiYXNpcy5jb20+XG4qXG4qIEZvciB0aGUgZnVsbCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24sIHBsZWFzZSB2aWV3IHRoZSBMSUNFTlNFXG4qIGZpbGUgdGhhdCB3YXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLlxuKi9cblxuaW1wb3J0IHsgZ3dfZ2V0RG9jdW1lbnQgfSBmcm9tIFwiYXBpL3V0aWxpdGllc1wiO1xuXG4vKiogaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvamF2YXNjcmlwdC1kZWJvdW5jZS1mdW5jdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X2RlYm91bmNlKGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSkge1xuICB2YXIgdGltZW91dDtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xuICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0O1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG4gICAgaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gIH07XG59XG5cbi8qKlxuICogU2VuZCBhbiBldmVudCB0byBCQmogc2lkZSBcbiAqIFxuICogVGhlIGZ1bmN0aW9uIHdpbGwgdHJpZ2dlciBhIGN1c3RvbSBjbGljayBldmVudCBvbiB0aGUgYGV2ZW50LWJyaWRnZS0ke2lkfWAgZGl2XG4gKiB0aGVuIHRoZSBkaXYgd2lsbCB1c2UgYmFzaXNEaXNwYXRjaEN1c3RvbUV2ZW50IHRvIGRpc3BhdGNoIHRoZSBldmVudCB0byBCQmpcbiAqIFxuICogQHBhcmFtIHtBcnJheX0gY29udGV4dCB0aGUgZ3JpZCdzIGNvbnRleHRcbiAqIEBwYXJhbSB7Kn0gcGF5bG9hZCB0aGUgZXZlbnQgcGF5bG9hZFxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50SWQgdGhlIGV2ZW50J3MgaWQgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnd19zZW5kRXZlbnQoY29udGV4dCwgcGF5bG9hZCA9IHt9LCBldmVudElkID0gW10pIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEludGVyZXN0cyA9IGNvbnRleHQuaW50ZXJlc3RzIHx8IFtdO1xuXG4gIGlmIChyZWdpc3RlcmVkSW50ZXJlc3RzLmluY2x1ZGVzKGV2ZW50SWQpKSB7XG4gICAgY29uc3QgZGl2ID0gZ3dfZ2V0RG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZChgZXZlbnQtYnJpZGdlLSR7Y29udGV4dC5pZH1gKTtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2xpY2snKTtcblxuICAgIGV2ZW50LnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIGRpdi5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWQgXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5kZXggXG4gKiBAcHJvcGVydHkge251bWJlcn0gcGFyZW50S2V5IFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGNoaWxkSW5kZXggXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkIFxuICovXG5cbi8qKlxuICogUGFyc2UgYSBub2RlIGFzIEJCakdyaWRFeFdpZGdldFJvd1xuICogXG4gKiBAcGFyYW0ge09iamVjdH0gbm9kZSBhZyBncmlkIG5vZGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0ICBhZyBncmlkIGNvbnRleHRcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd3xCb29sZWFufSBvYmplY3QgZm9ybWF0dGVkIGFzIEJCakdyaWRFeFdpZGdldFJvdy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgaWYgdGhlIG5vZGUgaXMgZm9yIGdyb3VwIG5vZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZShub2RlLCBjb250ZXh0KSB7XG5cbiAgaWYgKHRydWUgPT09IG5vZGUuZ3JvdXApIHJldHVybiBmYWxzZTsgLy8gd2UgZG8gbm90IG1hbmFnZSBncm91cHNcblxuICBjb25zdCByb3dOb2RlSWQgPSBjb250ZXh0Lmhhc093blByb3BlcnR5KCdnZXRSb3dOb2RlSWQnKSAmJiBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdID9cbiAgICBub2RlLmRhdGFbY29udGV4dC5nZXRSb3dOb2RlSWRdIDogJyc7XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogcm93Tm9kZUlkID8gcm93Tm9kZUlkIDogbm9kZS5pZCxcbiAgICBpbmRleDogcm93Tm9kZUlkLFxuICAgIHBhcmVudEtleTogbm9kZS5oYXNPd25Qcm9wZXJ0eSgncGFyZW50JykgJiYgbm9kZS5wYXJlbnQuaGFzT3duUHJvcGVydHkoJ2tleScpID9cbiAgICAgIG5vZGUucGFyZW50LmtleSA6ICcnLFxuICAgIGNoaWxkSW5kZXg6IG5vZGUuY2hpbGRJbmRleCxcbiAgICBzZWxlY3RlZDogQm9vbGVhbihub2RlLnNlbGVjdGVkKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZSBub2RlIGZyb20gZXZlbnQgXG4gKiBcbiAqIFBhcnNlIG5vZGUgaW4gdGhlIHBhU3NlZCBldmVudCBhcyBCQmpHcmlkRXhXaWRnZXRSb3dcbiAqIFxuICogQHBhcmFtIHtPYmplY3R9IGVcbiAqIFxuICogQHJldHVybnMge0JCakdyaWRFeFdpZGdldFJvd31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd3X3BhcnNlTm9kZUZyb21FdmVudChlKSB7XG4gIHJldHVybiBnd19wYXJzZU5vZGUoZS5ub2RlLCBlLmNvbnRleHQpO1xufVxuIiwiLypcbiogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEJCakdyaWRFeFdpZGdldCBwbHVnaW4uXG4qIChjKSBCYXNpcyBFdXJvcGUgPGV1QGJhc2lzLmNvbT5cbipcbiogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0VcbiogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuXG4qL1xuXG5pbXBvcnQgJ2V4cG9zZS1sb2FkZXI/QmFzaXMuQWdHcmlkQ29tcG9uZW50cyFhZy1ncmlkLWNvbXBvbmVudHMvZGlzdC9hZ2MtYmFzaWMuYnVuZGxlLmpzJztcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctZ3JpZC5jc3MnKTtcblxucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYm9vdHN0cmFwLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmx1ZS5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLWRhcmsuY3NzJyk7XG5yZXF1aXJlKCdhZy1ncmlkLWNvbW11bml0eS9kaXN0L3N0eWxlcy9hZy10aGVtZS1mcmVzaC5jc3MnKTtcbnJlcXVpcmUoJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3Qvc3R5bGVzL2FnLXRoZW1lLW1hdGVyaWFsLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLmNzcycpO1xucmVxdWlyZSgnYWctZ3JpZC1jb21tdW5pdHkvZGlzdC9zdHlsZXMvYWctdGhlbWUtYmFsaGFtLWRhcmsuY3NzJyk7XG5cbnJlcXVpcmUoJy4vc3R5bGUvY2xhc3Nlcy5jc3MnKTtcblxuZXhwb3J0ICogZnJvbSAnLi9wb2x5ZmlsbHMuanMnO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBpXCI7XG4iLCIvKlxuKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQkJqR3JpZEV4V2lkZ2V0IHBsdWdpbi5cbiogKGMpIEJhc2lzIEV1cm9wZSA8ZXVAYmFzaXMuY29tPlxuKlxuKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRVxuKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS5cbiovXG5cbi8qKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvQ3VzdG9tRXZlbnQgICovXG4oZnVuY3Rpb24gKCkge1xuICBpZiAodHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gZmFsc2U7IC8vSWYgbm90IElFXG5cbiAgZnVuY3Rpb24gQ3VzdG9tRXZlbnQoZXZlbnQsIHBhcmFtcykge1xuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7IGJ1YmJsZXM6IGZhbHNlLCBjYW5jZWxhYmxlOiBmYWxzZSwgZGV0YWlsOiB1bmRlZmluZWQgfTtcbiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgZXZ0LmluaXRDdXN0b21FdmVudChldmVudCwgcGFyYW1zLmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlLCBwYXJhbXMuZGV0YWlsKTtcbiAgICByZXR1cm4gZXZ0O1xuICB9XG5cbiAgQ3VzdG9tRXZlbnQucHJvdG90eXBlID0gd2luZG93LkV2ZW50LnByb3RvdHlwZTtcblxuICB3aW5kb3cuQ3VzdG9tRXZlbnQgPSBDdXN0b21FdmVudDtcbn0pKCk7XG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB3aW5kb3cudG9wLmRvY3VtZW50LmhlYWQgfTtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4vY2xhc3Nlcy5jc3NcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzIS4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanMhLi9jbGFzc2VzLmNzc1wiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSJdLCJzb3VyY2VSb290IjoiIn0= +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` diff --git a/client/dist/bbj-grid-widget.min.js b/client/dist/bbj-grid-widget.min.js index ada974b7..ebf04ed7 100644 --- a/client/dist/bbj-grid-widget.min.js +++ b/client/dist/bbj-grid-widget.min.js @@ -36,7 +36,11 @@ \******************************************************************/ /*! no static exports found */function(e,n,a){!function(n,a){e.exports=a()}("undefined"!=typeof self&&self,function(){return function(e){var n={};function a(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=n,a.d=function(e,n,t){a.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="",a(a.s=24)}([function(e,n,a){"use strict";function t(e,n){for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:null;if(n.hasOwnProperty("colDef")&&n.colDef.hasOwnProperty(e))a=n.colDef[e];else{var o=n.context.AGridComponentsMetaConfig||n.context.meta;if(o&&o.hasOwnProperty(n.column.colId)&&o[n.column.colId].hasOwnProperty(e))a=o[n.column.colId][e];else{var r=n.context;a=r&&r.hasOwnProperty(e)?r[e]:n[e]||t}}return a}}]),e}()},function(e,n){e.exports=function(e){var n=[];return n.toString=function(){return this.map(function(n){var a=function(e,n){var a=e[1]||"",t=e[3];if(!t)return a;if(n&&"function"==typeof btoa){var o=function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}(t),r=t.sources.map(function(e){return"/*# sourceURL="+t.sourceRoot+e+" */"});return[a].concat(r).concat([o]).join("\n")}return[a].join("\n")}(n,e);return n[2]?"@media "+n[2]+"{"+a+"}":a}).join("")},n.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var t={},o=0;o=0&&i.splice(n,1)}function A(e){var n=document.createElement("style");return e.attrs.type="text/css",m(n,e.attrs),h(e,n),n}function m(e,n){Object.keys(n).forEach(function(a){e.setAttribute(a,n[a])})}function u(e,n){var a,t,o,r;if(n.transform&&e.css){if(!(r=n.transform(e.css)))return function(){};e.css=r}if(n.singleton){var i=l++;a=g||(g=A(n)),t=f.bind(null,a,i,!1),o=f.bind(null,a,i,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(a=function(e){var n=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",m(n,e.attrs),h(e,n),n}(n),t=function(e,n,a){var t=a.css,o=a.sourceMap,r=void 0===n.convertToAbsoluteUrls&&o;(n.convertToAbsoluteUrls||r)&&(t=d(t));o&&(t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var g=new Blob([t],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(g),l&&URL.revokeObjectURL(l)}.bind(null,a,n),o=function(){s(a),a.href&&URL.revokeObjectURL(a.href)}):(a=A(n),t=function(e,n){var a=n.css,t=n.media;t&&e.setAttribute("media",t);if(e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}.bind(null,a),o=function(){s(a)});return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else o()}}e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(n=n||{}).attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||"boolean"==typeof n.singleton||(n.singleton=o()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var a=c(e,n);return p(a,n),function(e){for(var o=[],r=0;r0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this._build(t,n,a)}return function(e,n,a){n&&t(e.prototype,n),a&&t(e,a)}(e,[{key:"getValue",value:function(){return this.input.checked}},{key:"focus",value:function(){this.component.focus()}},{key:"toggle",value:function(){this.input.checked=!this.input.checked}},{key:"check",value:function(){this.input.checked=!0}},{key:"uncheck",value:function(){this.input.checked=!1}},{key:"enable",value:function(){this.input.disabled=!1}},{key:"disable",value:function(){this.input.disabled=!0}},{key:"destroy",value:function(){this._onClickBind&&this.component.removeEventListener("click",this._onClickBind),this._onChangeBind&&this.component.removeEventListener("keydown",this._onChangeBind),this.disable()}},{key:"_build",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document;this.component=a.createElement("div"),this.component.className="BooleanSwitch",this.component.tabIndex="-1",this.slider=a.createElement("span"),this.slider.className="slider round",this.input=a.createElement("input"),this.input.type="checkbox",this.input.checked=n,this.input.tabIndex="0",this.component.appendChild(this.input),this.component.appendChild(this.slider),this._onClickBind=this._onClick.bind(this,e),this._onChangeBind=this._onChange.bind(this,e),this.component.addEventListener("click",this._onClickBind),this.component.addEventListener("keydown",this._onChangeBind)}},{key:"_onClick",value:function(e,n){if(this.input.disabled)return!1;this.toggle(),e&&e(this)}},{key:"_onChange",value:function(e,n){if(this.input.disabled)return!1;var a=n.which||n.keyCode;32==a?(this.toggle(),e&&e(this),n.stopPropagation()):39==a?(this.check(),e&&e(this),n.stopPropagation()):37==a&&(this.uncheck(),e&&e(this),n.stopPropagation())}}]),e}()},function(e,n,a){"use strict";function t(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function o(e,n){for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.doc=a,this.options=function(e){for(var n=1;n1&&void 0!==arguments[1]&&arguments[1];this.flatpickr.setDate(e||"",n)}},{key:"setOption",value:function(e,n){this.flatpickr.set(e,n)}},{key:"open",value:function(){this.flatpickr.open(),this.flatpickr.input.focus()}},{key:"close",value:function(){this.flatpickr.close()}},{key:"enable",value:function(){this.input.disabled=!1}},{key:"disable",value:function(){this.input.disabled=!0}},{key:"destroy",value:function(){this.flatpickr.destroy(),this._onClearButtonClickBind&&this.clearButton.removeEventListener("click",this._onClearButtonClickBind),this._onKeyDownBind&&this.component.removeEventListener("keydown",this._onKeyDownBind)}},{key:"_build",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;this.component=n.createElement("div"),this.component.className="DateTimesDialog",this.component.tabIndex="0",this.input=n.createElement("input"),this.component.appendChild(this.input),this.flatpickr=flatpickr(this.input,e),this._onKeyDownBind=this._onKeyDown.bind(this),this.component.addEventListener("keydown",this._onKeyDownBind)}},{key:"_onKeyDown",value:function(e){var n=e.which||e.keyCode;if([37,39].indexOf(n)>-1)e.stopPropagation();else if(38===n){var a=this.flatpickr.input.value,t=Date.parse(a);t instanceof Date||(t=new Date(a)),t.setDate(t.getDate()+1),this.flatpickr.setDate(t,!1,this.options.mask),this.flatpickr.input.value=BBj.Masks.Types.date(t,this.options.mask),e.stopPropagation()}else if(40===n){var o=this.flatpickr.input.value,r=Date.parse(o);r instanceof Date||(next=new Date(o)),r.setDate(r.getDate()-1),this.flatpickr.setDate(r,!1,this.options.mask),this.flatpickr.input.value=BBj.Masks.Types.date(r,this.options.mask),e.stopPropagation()}else 9===n&&this.setDate(this.flatpickr.input.value,!0,this.options.dateFormat)}},{key:"_onReady",value:function(e,n,a){a.calendarContainer.querySelector(".flatpickr-clear")||(this.clearButton=this.doc.createElement("button"),this.clearButton.className="flatpickr-clear",this.clearButton.innerHTML="Clear",a.calendarContainer.appendChild(this.clearButton),this._onClearButtonClickBind=this._onClearButtonClick.bind(this,a),this.clearButton.addEventListener("click",this._onClearButtonClickBind))}},{key:"_onClearButtonClick",value:function(e){e.clear(),e.close(),this.options.hasOwnProperty("onClear")&&this.options.onClear()}}]),e}()},function(e,n,a){var t=a(6);"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:function(){return window.top.document.head}};a(2)(t,o);t.locals&&(e.exports=t.locals)},function(e,n,a){(e.exports=a(1)(!1)).push([e.i,'.BasicBooleansRenderer{display:block;margin-left:auto;margin-right:auto;text-align:center}.BasicBooleansFilter ul{display:block;list-style:none;margin:0;padding:0;cursor:pointer}.BasicBooleansFilter ul li{padding:10px;-webkit-transition:.4s;transition:.4s;border-bottom:thin solid #ccc}.BasicBooleansFilter ul li.selected{background:#569ff7;color:#fff}.BasicBooleansFilter ul li:last-child{border-bottom:none}.BooleanSwitch{outline:none;position:relative;display:block;margin-left:auto;margin-right:auto;width:40px;height:20px}.BooleanSwitch input{display:none}.BooleanSwitch .slider{cursor:pointer;top:20%;left:0;right:0;bottom:10%;background-color:#ccc}.BooleanSwitch .slider,.BooleanSwitch .slider:before{position:absolute;-webkit-transition:.4s;transition:.4s}.BooleanSwitch .slider:before{content:"";height:12px;width:12px;left:1px;top:1px;bottom:1px;right:1px;background-color:#fff}.BooleanSwitch input:checked+.slider{background-color:#569ff7}.BooleanSwitch input:focus+.slider{box-shadow:0 0 1px #569ff7}.BooleanSwitch input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.BooleanSwitch .slider.round{border-radius:28px}.BooleanSwitch .slider.round:before{border-radius:50%}',""])},function(e,n){e.exports=function(e){var n="undefined"!=typeof window&&window.location;if(!n)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var a=n.protocol+"//"+n.host,t=a+n.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,n){var o,r=n.trim().replace(/^"(.*)"$/,function(e,n){return n}).replace(/^'(.*)'$/,function(e,n){return n});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(r)?e:(o=0===r.indexOf("//")?r:0===r.indexOf("/")?a+r:t+r.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,n,a){var t=a(9);"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:function(){return window.top.document.head}};a(2)(t,o);t.locals&&(e.exports=t.locals)},function(e,n,a){(e.exports=a(1)(!1)).push([e.i,".flatpickr-calendar{font-size:13px;border-radius:5px}.flatpickr-calendar .flatpickr-clear{padding:7px;margin:12px;text-align:center;background-color:#569ff7;color:#fff;outline:0;border:0;min-width:100px;cursor:pointer;box-shadow:0 0 2px 0 transparent;transition:box-shadow .36s}.flatpickr-calendar .flatpickr-clear:focus,.flatpickr-calendar .flatpickr-clear:hover{box-shadow:0 0 2px 0 #9e9e9e}.DateTimesDialog{max-width:307.875px;overflow:hidden}.DateTimesDialog input{min-width:100%;max-width:100%;width:100%;height:100%;margin-left:auto;margin-right:auto;padding:3px;outline:0;border:none}",""])},function(e,n,a){var t=a(11);"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:function(){return window.top.document.head}};a(2)(t,o);t.locals&&(e.exports=t.locals)},function(e,n,a){(e.exports=a(1)(!1)).push([e.i,".BasicImagesRenderer img{display:block;margin-left:auto;margin-right:auto}",""])},function(e,n,a){var t=a(13);"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:function(){return window.top.document.head}};a(2)(t,o);t.locals&&(e.exports=t.locals)},function(e,n,a){(e.exports=a(1)(!1)).push([e.i,".BasicNumbersEditor{display:block}.BasicNumbersEditor input{min-width:100%;outline:0;height:100%;display:block;margin-left:auto;margin-right:auto;border:none;padding:3px}",""])},function(e,n,a){"use strict";a.d(n,"a",function(){return p});var t=a(3),o=a(0);function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,n){for(var a=0;a\n
  • '.concat(a||"◉ True",'
  • \n
  • ').concat(t||"◎ False",'
  • \n
  • ').concat(o||"◍ None","
  • \n \n "),this.filterElements=this.gui.querySelectorAll("li"),this._onChangeBind=this._onChange.bind(this);for(var r=0;r=l&&a<=i}else if(void 0!==o){n=new Date(o)===a}else n=!0;return n}},{key:"isFilterActive",value:function(){return Array.isArray(this.filterDates)&&this.filterDates.length}},{key:"getModel",value:function(){return{value:this.filterDates}}},{key:"getModelAsString",value:function(){var e=this.getOption("FILTER_MASK",this.params),n=g(this.filterDates,2),a=n[0],t=n[1],o="";return a&&(o+="".concat(BBj.Masks.Types.date(a,e))),t&&(o+=" - ".concat(BBj.Masks.Types.date(t,e))),o}}]),n}()},function(e,n,a){"use strict";a.d(n,"a",function(){return d});var t=a(0);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,n){for(var a=0;a'):this.container.innerHTML=e.value}else this.container.innerHTML=""}},{key:"getGui",value:function(){return this.container}}]),n}()},function(e,n,a){"use strict";a.d(n,"a",function(){return r});var t=a(0);function o(e,n){for(var a=0;a12?"PM":"AM",pp:e.hours24>12?"pm":"am",p:e.hours24>12?"pm":"am",Jz:1==String(e.dayOfYear).length?"0"+e.dayOfYear:e.dayOfYear,Js:e.dayOfYear,Jl:e.dayOfYear,Jd:e.dayOfYear,J:e.dayOfYear,Wz:1==String(e.dayOfWeek).length?"0"+e.dayOfWeek:e.dayOfWeek,Ws:e.dayOfWeek,Wl:e.dayOfWeek,Wp:String.fromCharCode(e.dayOfWeek),Wd:e.dayOfWeek,W:e.dayOfWeek}}},{key:"_getDayOfYear",value:function(e){var n=Date.parse(e);n instanceof Date||(n=new Date(e));var a=new Date(n.getFullYear(),0,0),t=n-a+60*(a.getTimezoneOffset()-n.getTimezoneOffset())*1e3;return Math.floor(t/864e5)}}]),e}();n.default=o},function(e,n,a){"use strict";function t(e,n){for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:",",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",r=a.length;if(0===r)return n;for(var g=0,l=0,i=!1,d=0;dg)return n.toString();if(m>l){c=e._round(c,l),s=(h=e._toCharArray(c)).length,A=0,m=0,i=!1;for(var b=0;bg)return n.toString()}var f=-1===e._getSign(c),x=s>0||a.indexOf("0")>=0,w=!1,k="";i=!1;for(var y=0,E=0;E0)&&(k+=t);break;case"-":case"(":case")":f&&(k+=B);break;case"+":k+=f?"-":"+";break;case".":i?k+=B:(x&&(k+=o),i=!0,++y);break;case"C":E1&&"0"==o.charAt(0)&&(o=o.substring(1)),t=o.split("")}return t}},{key:"_getSign",value:function(e){return(e>0)-(e<0)||+e}}]),e}();n.default=o},function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"DateMask",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(n,"NumberMask",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(n,"Types",{enumerable:!0,get:function(){return r.default}});var t=g(a(0)),o=g(a(1)),r=g(a(3));function g(e){return e&&e.__esModule?e:{default:e}}},function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=r(a(1)),o=r(a(0));function r(e){return e&&e.__esModule?e:{default:e}}function g(e,n){for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:",",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".";return t.default.mask(e,n,a,o)}},{key:"date",value:function(e,n){return o.default.mask(e,n)}}]),e}();n.default=l}])})},function(e,n,a){ /* flatpickr v4.5.0, @license MIT */ +<<<<<<< HEAD e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=function(e){return!0===e?1:0};function a(e,n,a){var t;return void 0===a&&(a=!1),function(){var o=this,r=arguments;null!==t&&clearTimeout(t),t=window.setTimeout(function(){t=null,a||e.apply(o,r)},n),a&&!t&&e.apply(o,r)}}var t=function(e){return e instanceof Array?e:[e]},o=function(){},r=function(e,n,a){return a.months[n?"shorthand":"longhand"][e]},g={D:o,F:function(e,n,a){e.setMonth(a.months.longhand.indexOf(n))},G:function(e,n){e.setHours(parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,a,t){e.setHours(e.getHours()%12+12*n(new RegExp(t.amPM[1],"i").test(a)))},M:function(e,n,a){e.setMonth(a.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n){var a=parseInt(n);return new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0)},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours(parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:o,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},w:o,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},l={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},i={Z:function(e){return e.toISOString()},D:function(e,n,a){return n.weekdays.shorthand[i.w(e,n,a)]},F:function(e,n,a){return r(i.n(e,n,a)-1,!1,n)},G:function(n,a,t){return e(i.h(n,a,t))},H:function(n){return e(n.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,a){return a.amPM[n(e.getHours()>11)]},M:function(e,n){return r(e.getMonth(),!0,n)},S:function(n){return e(n.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,a){return a.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(n){return e(n.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(n){return e(n.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(n){return e(n.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},d={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return"th";switch(n%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year"},p=function(e){var n=e.config,a=void 0===n?m:n,t=e.l10n,o=void 0===t?d:t;return function(e,n,t){if(void 0!==a.formatDate)return a.formatDate(e,n);var r=t||o;return n.split("").map(function(n,t,o){return i[n]&&"\\"!==o[t-1]?i[n](e,r,a):"\\"!==n?n:""}).join("")}},c=function(e){var n=e.config,a=void 0===n?m:n,t=e.l10n,o=void 0===t?d:t;return function(e,n,t){if(0===e||e){var r,i=e;if(e instanceof Date)r=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)r=new Date(e);else if("string"==typeof e){var d=n||(a||m).dateFormat,p=String(e).trim();if("today"===p)r=new Date,t=!0;else if(/Z$/.test(p)||/GMT$/.test(p))r=new Date(e);else if(a&&a.parseDate)r=a.parseDate(e,d);else{r=a&&a.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var c,h=[],s=0,A=0,u="";sMath.min(n,a)&&e",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1};function u(e,n,a){if(!0===a)return e.classList.add(n);e.classList.remove(n)}function b(e,n,a){var t=window.document.createElement(e);return n=n||"",a=a||"",t.className=n,void 0!==a&&(t.textContent=a),t}function f(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function x(e,n){var a=b("div","numInputWrapper"),t=b("input","numInput "+e),o=b("span","arrowUp"),r=b("span","arrowDown");if(t.type="text",t.pattern="\\d*",void 0!==n)for(var g in n)t.setAttribute(g,n[g]);return a.appendChild(t),a.appendChild(o),a.appendChild(r),a}"function"!=typeof Object.assign&&(Object.assign=function(e){if(!e)throw TypeError("Cannot convert undefined or null to object");for(var n=arguments.length,a=new Array(n>1?n-1:0),t=1;tg&&(c=o===i.hourElement?c-g-n(!i.amPM):r,s&&z(void 0,1,i.hourElement)),i.amPM&&h&&(1===l?c+d===23:Math.abs(c-d)>l)&&(i.amPM.textContent=i.l10n.amPM[n(i.amPM.textContent===i.l10n.amPM[0])]),o.value=e(c)}}(a),B(),me(),i._debouncedChange())}function B(){if(void 0!==i.hourElement&&void 0!==i.minuteElement){var e=(parseInt(i.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(i.minuteElement.value,10)||0)%60,t=void 0!==i.secondElement?(parseInt(i.secondElement.value,10)||0)%60:0;void 0!==i.amPM&&(e=function(e,a){return e%12+12*n(a===i.l10n.amPM[1])}(e,i.amPM.textContent));var o=void 0!==i.config.minTime||i.config.minDate&&i.minDateHasTime&&i.latestSelectedDateObj&&0===h(i.latestSelectedDateObj,i.config.minDate,!0),r=void 0!==i.config.maxTime||i.config.maxDate&&i.maxDateHasTime&&i.latestSelectedDateObj&&0===h(i.latestSelectedDateObj,i.config.maxDate,!0);if(r){var g=void 0!==i.config.maxTime?i.config.maxTime:i.config.maxDate;(e=Math.min(e,g.getHours()))===g.getHours()&&(a=Math.min(a,g.getMinutes())),a===g.getMinutes()&&(t=Math.min(t,g.getSeconds()))}if(o){var l=void 0!==i.config.minTime?i.config.minTime:i.config.minDate;(e=Math.max(e,l.getHours()))===l.getHours()&&(a=Math.max(a,l.getMinutes())),a===l.getMinutes()&&(t=Math.max(t,l.getSeconds()))}Q(e,a,t)}}function v(e){var n=e||i.latestSelectedDateObj;n&&Q(n.getHours(),n.getMinutes(),n.getSeconds())}function I(){var e=i.config.defaultHour,n=i.config.defaultMinute,a=i.config.defaultSeconds;if(void 0!==i.config.minDate){var t=i.config.minDate.getHours(),o=i.config.minDate.getMinutes();(e=Math.max(e,t))===t&&(n=Math.max(o,n)),e===t&&n===o&&(a=i.config.minDate.getSeconds())}if(void 0!==i.config.maxDate){var r=i.config.maxDate.getHours(),g=i.config.maxDate.getMinutes();(e=Math.min(e,r))===r&&(n=Math.min(g,n)),e===r&&n===g&&(a=i.config.maxDate.getSeconds())}Q(e,n,a)}function Q(a,t,o){void 0!==i.latestSelectedDateObj&&i.latestSelectedDateObj.setHours(a%24,t,o||0,0),i.hourElement&&i.minuteElement&&!i.isMobile&&(i.hourElement.value=e(i.config.time_24hr?a:(12+a)%12+12*n(a%12==0)),i.minuteElement.value=e(t),void 0!==i.amPM&&(i.amPM.textContent=i.l10n.amPM[n(a>=12)]),void 0!==i.secondElement&&(i.secondElement.value=e(o)))}function M(e){var n=parseInt(e.target.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&X(n)}function D(e,n,a,t){return n instanceof Array?n.forEach(function(n){return D(e,n,a,t)}):e instanceof Array?e.forEach(function(e){return D(e,n,a,t)}):(e.addEventListener(n,a,t),void i._handlers.push({element:e,event:n,handler:a,options:t}))}function C(e){return function(n){1===n.which&&e(n)}}function j(){ce("onChange")}function N(){if(i.config.wrap&&["open","close","toggle","clear"].forEach(function(e){Array.prototype.forEach.call(i.element.querySelectorAll("[data-"+e+"]"),function(n){return D(n,"click",i[e])})}),i.isMobile)!function(){var e=i.config.enableTime?i.config.noCalendar?"time":"datetime-local":"date";i.mobileInput=b("input",i.input.className+" flatpickr-mobile"),i.mobileInput.step=i.input.getAttribute("step")||"any",i.mobileInput.tabIndex=1,i.mobileInput.type=e,i.mobileInput.disabled=i.input.disabled,i.mobileInput.required=i.input.required,i.mobileInput.placeholder=i.input.placeholder,i.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",i.selectedDates.length>0&&(i.mobileInput.defaultValue=i.mobileInput.value=i.formatDate(i.selectedDates[0],i.mobileFormatStr)),i.config.minDate&&(i.mobileInput.min=i.formatDate(i.config.minDate,"Y-m-d")),i.config.maxDate&&(i.mobileInput.max=i.formatDate(i.config.maxDate,"Y-m-d")),i.input.type="hidden",void 0!==i.altInput&&(i.altInput.type="hidden");try{i.input.parentNode&&i.input.parentNode.insertBefore(i.mobileInput,i.input.nextSibling)}catch(e){}D(i.mobileInput,"change",function(e){i.setDate(e.target.value,!1,i.mobileFormatStr),ce("onChange"),ce("onClose")})}();else{var e=a(ne,50);i._debouncedChange=a(j,w),i.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&D(i.daysContainer,"mouseover",function(e){"range"===i.config.mode&&ee(e.target)}),D(window.document.body,"keydown",$),i.config.static||D(i._input,"keydown",$),i.config.inline||i.config.static||D(window,"resize",e),void 0!==window.ontouchstart?D(window.document,"click",W):D(window.document,"mousedown",C(W)),D(window.document,"focus",W,{capture:!0}),!0===i.config.clickOpens&&(D(i._input,"focus",i.open),D(i._input,"mousedown",C(i.open))),void 0!==i.daysContainer&&(D(i.monthNav,"mousedown",C(ue)),D(i.monthNav,["keyup","increment"],M),D(i.daysContainer,"mousedown",C(le))),void 0!==i.timeContainer&&void 0!==i.minuteElement&&void 0!==i.hourElement&&(D(i.timeContainer,["increment"],y),D(i.timeContainer,"blur",y,{capture:!0}),D(i.timeContainer,"mousedown",C(S)),D([i.hourElement,i.minuteElement],["focus","click"],function(e){return e.target.select()}),void 0!==i.secondElement&&D(i.secondElement,"focus",function(){return i.secondElement&&i.secondElement.select()}),void 0!==i.amPM&&D(i.amPM,"mousedown",C(function(e){y(e),j()})))}}function F(e){var n=void 0!==e?i.parseDate(e):i.latestSelectedDateObj||(i.config.minDate&&i.config.minDate>i.now?i.config.minDate:i.config.maxDate&&i.config.maxDate11)]),i.amPM.title=i.l10n.toggleTitle,i.amPM.tabIndex=-1,i.timeContainer.appendChild(i.amPM)),i.timeContainer}()),u(i.calendarContainer,"rangeMode","range"===i.config.mode),u(i.calendarContainer,"animate",!0===i.config.animate),u(i.calendarContainer,"multiMonth",i.config.showMonths>1),i.calendarContainer.appendChild(a);var g=void 0!==i.config.appendTo&&void 0!==i.config.appendTo.nodeType;if((i.config.inline||i.config.static)&&(i.calendarContainer.classList.add(i.config.inline?"inline":"static"),i.config.inline&&(!g&&i.element.parentNode?i.element.parentNode.insertBefore(i.calendarContainer,i._input.nextSibling):void 0!==i.config.appendTo&&i.config.appendTo.appendChild(i.calendarContainer)),i.config.static)){var l=b("div","flatpickr-wrapper");i.element.parentNode&&i.element.parentNode.insertBefore(l,i.element),l.appendChild(i.element),i.altInput&&l.appendChild(i.altInput),l.appendChild(i.calendarContainer)}i.config.static||i.config.inline||(void 0!==i.config.appendTo?i.config.appendTo:window.document.body).appendChild(i.calendarContainer)}function R(e,n,a,t){var o=K(n,!0),r=b("span","flatpickr-day "+e,n.getDate().toString());return r.dateObj=n,r.$i=t,r.setAttribute("aria-label",i.formatDate(n,i.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===h(n,i.now)&&(i.todayDateElem=r,r.classList.add("today"),r.setAttribute("aria-current","date")),o?(r.tabIndex=-1,se(n)&&(r.classList.add("selected"),i.selectedDateElem=r,"range"===i.config.mode&&(u(r,"startRange",i.selectedDates[0]&&0===h(n,i.selectedDates[0],!0)),u(r,"endRange",i.selectedDates[1]&&0===h(n,i.selectedDates[1],!0)),"nextMonthDay"===e&&r.classList.add("inRange")))):r.classList.add("disabled"),"range"===i.config.mode&&function(e){return!("range"!==i.config.mode||i.selectedDates.length<2)&&h(e,i.selectedDates[0])>=0&&h(e,i.selectedDates[1])<=0}(n)&&!se(n)&&r.classList.add("inRange"),i.weekNumbers&&1===i.config.showMonths&&"prevMonthDay"!==e&&a%7==1&&i.weekNumbers.insertAdjacentHTML("beforeend",""+i.config.getWeek(n)+""),ce("onDayCreate",r),r}function _(e){e.focus(),"range"===i.config.mode&&ee(e)}function T(e){for(var n=e>0?0:i.config.showMonths-1,a=e>0?i.config.showMonths:-1,t=n;t!=a;t+=e)for(var o=i.daysContainer.children[t],r=e>0?0:o.children.length-1,g=e>0?o.children.length:-1,l=r;l!=g;l+=e){var d=o.children[l];if(-1===d.className.indexOf("hidden")&&K(d.dateObj))return d}}function Y(e,n){var a=Z(document.activeElement),t=void 0!==e?e:a?document.activeElement:void 0!==i.selectedDateElem&&Z(i.selectedDateElem)?i.selectedDateElem:void 0!==i.todayDateElem&&Z(i.todayDateElem)?i.todayDateElem:T(n>0?1:-1);return void 0===t?i._input.focus():a?void function(e,n){for(var a=-1===e.className.indexOf("Month")?e.dateObj.getMonth():i.currentMonth,t=n>0?i.config.showMonths:-1,o=n>0?1:-1,r=a-i.currentMonth;r!=t;r+=o)for(var g=i.daysContainer.children[r],l=a-i.currentMonth===r?e.$i+n:n<0?g.children.length-1:0,d=g.children.length,p=l;p>=0&&p0?d:-1);p+=o){var c=g.children[p];if(-1===c.className.indexOf("hidden")&&K(c.dateObj)&&Math.abs(e.$i-p)>=Math.abs(n))return _(c)}i.changeMonth(o),Y(T(o),0)}(t,n):_(t)}function V(e,n){for(var a=(new Date(e,n,1).getDay()-i.l10n.firstDayOfWeek+7)%7,t=i.utils.getDaysInMonth((n-1+12)%12),o=i.utils.getDaysInMonth(n),r=window.document.createDocumentFragment(),g=i.config.showMonths>1,l=g?"prevMonthDay hidden":"prevMonthDay",d=g?"nextMonthDay hidden":"nextMonthDay",p=t+1-a,c=0;p<=t;p++,c++)r.appendChild(R(l,new Date(e,n-1,p),p,c));for(p=1;p<=o;p++,c++)r.appendChild(R("",new Date(e,n,p),p,c));for(var h=o+1;h<=42-a&&(1===i.config.showMonths||c%7!=0);h++,c++)r.appendChild(R(d,new Date(e,n+1,h%o),h,c));var s=b("div","dayContainer");return s.appendChild(r),s}function G(){if(void 0!==i.daysContainer){f(i.daysContainer),i.weekNumbers&&f(i.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n0&&e\n "+n.join("")+"\n \n "}function q(e,n){void 0===n&&(n=!0);var a=n?e:e-i.currentMonth;a<0&&!0===i._hidePrevMonthArrow||a>0&&!0===i._hideNextMonthArrow||(i.currentMonth+=a,(i.currentMonth<0||i.currentMonth>11)&&(i.currentYear+=i.currentMonth>11?1:-1,i.currentMonth=(i.currentMonth+12)%12,ce("onYearChange")),G(),ce("onMonthChange"),Ae())}function P(e){return!(!i.config.appendTo||!i.config.appendTo.contains(e))||i.calendarContainer.contains(e)}function W(e){if(i.isOpen&&!i.config.inline){var n=P(e.target),a=e.target===i.input||e.target===i.altInput||i.element.contains(e.target)||e.path&&e.path.indexOf&&(~e.path.indexOf(i.input)||~e.path.indexOf(i.altInput)),t="blur"===e.type?a&&e.relatedTarget&&!P(e.relatedTarget):!a&&!n,o=!i.config.ignoredFocusElements.some(function(n){return n.contains(e.target)});t&&o&&(i.close(),"range"===i.config.mode&&1===i.selectedDates.length&&(i.clear(!1),i.redraw()))}}function X(e){if(!(!e||i.config.minDate&&ei.config.maxDate.getFullYear())){var n=e,a=i.currentYear!==n;i.currentYear=n||i.currentYear,i.config.maxDate&&i.currentYear===i.config.maxDate.getFullYear()?i.currentMonth=Math.min(i.config.maxDate.getMonth(),i.currentMonth):i.config.minDate&&i.currentYear===i.config.minDate.getFullYear()&&(i.currentMonth=Math.max(i.config.minDate.getMonth(),i.currentMonth)),a&&(i.redraw(),ce("onYearChange"))}}function K(e,n){void 0===n&&(n=!0);var a=i.parseDate(e,void 0,n);if(i.config.minDate&&a&&h(a,i.config.minDate,void 0!==n?n:!i.minDateHasTime)<0||i.config.maxDate&&a&&h(a,i.config.maxDate,void 0!==n?n:!i.maxDateHasTime)>0)return!1;if(0===i.config.enable.length&&0===i.config.disable.length)return!0;if(void 0===a)return!1;for(var t,o=i.config.enable.length>0,r=o?i.config.enable:i.config.disable,g=0;g=t.from.getTime()&&a.getTime()<=t.to.getTime())return o}return!o}function Z(e){return void 0!==i.daysContainer&&-1===e.className.indexOf("hidden")&&i.daysContainer.contains(e)}function $(e){var n=e.target===i._input,a=i.config.allowInput,t=i.isOpen&&(!a||!n),o=i.config.inline&&n&&!a;if(13===e.keyCode&&n){if(a)return i.setDate(i._input.value,!0,e.target===i.altInput?i.config.altFormat:i.config.dateFormat),e.target.blur();i.open()}else if(P(e.target)||t||o){var r=!!i.timeContainer&&i.timeContainer.contains(e.target);switch(e.keyCode){case 13:r?y():le(e);break;case 27:e.preventDefault(),ge();break;case 8:case 46:n&&!i.config.allowInput&&(e.preventDefault(),i.clear());break;case 37:case 39:if(r)i.hourElement&&i.hourElement.focus();else if(e.preventDefault(),void 0!==i.daysContainer&&(!1===a||Z(document.activeElement))){var g=39===e.keyCode?1:-1;e.ctrlKey?(q(g),Y(T(1),0)):Y(void 0,g)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;i.daysContainer?e.ctrlKey?(X(i.currentYear-l),Y(T(1),0)):r||Y(void 0,7*l):i.config.enableTime&&(!r&&i.hourElement&&i.hourElement.focus(),y(e),i._debouncedChange());break;case 9:if(!r)break;var d=[i.hourElement,i.minuteElement,i.secondElement,i.amPM].filter(function(e){return e}),p=d.indexOf(e.target);if(-1!==p){var c=d[p+(e.shiftKey?-1:1)];void 0!==c&&(e.preventDefault(),c.focus())}}}if(void 0!==i.amPM&&e.target===i.amPM)switch(e.key){case i.l10n.amPM[0].charAt(0):case i.l10n.amPM[0].charAt(0).toLowerCase():i.amPM.textContent=i.l10n.amPM[0],B(),me();break;case i.l10n.amPM[1].charAt(0):case i.l10n.amPM[1].charAt(0).toLowerCase():i.amPM.textContent=i.l10n.amPM[1],B(),me()}ce("onKeyDown",e)}function ee(e){if(1===i.selectedDates.length&&e.classList.contains("flatpickr-day")&&!e.classList.contains("disabled")){for(var n=e.dateObj.getTime(),a=i.parseDate(i.selectedDates[0],void 0,!0).getTime(),t=Math.min(n,i.selectedDates[0].getTime()),o=Math.max(n,i.selectedDates[0].getTime()),r=!1,g=0,l=0,d=t;dt&&dg)?g=d:d>a&&(!l||d0&&m0&&m>l;return u?(d.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(e){d.classList.remove(e)}),"continue"):r&&!u?"continue":(["startRange","inRange","endRange","notAllowed"].forEach(function(e){d.classList.remove(e)}),e.classList.add(n0&&h&&h.lastChild.dateObj.getTime()>=m||(an&&m===a&&d.classList.add("endRange"),m>=g&&(0===l||m<=l)&&s(m,a,n)&&d.classList.add("inRange"))))},u=0,b=c.children.length;u0||a.getMinutes()>0||a.getSeconds()>0),i.selectedDates&&(i.selectedDates=i.selectedDates.filter(function(e){return K(e)}),i.selectedDates.length||"min"!==e||v(a),me()),i.daysContainer&&(re(),void 0!==a?i.currentYearElement[e]=a.getFullYear().toString():i.currentYearElement.removeAttribute(e),i.currentYearElement.disabled=!!t&&void 0!==a&&t.getFullYear()===a.getFullYear())}}function te(){"object"!=typeof i.config.locale&&void 0===E.l10ns[i.config.locale]&&i.config.errorHandler(new Error("flatpickr: invalid locale "+i.config.locale)),i.l10n=Object.assign({},E.l10ns.default,"object"==typeof i.config.locale?i.config.locale:"default"!==i.config.locale?E.l10ns[i.config.locale]:void 0),l.K="("+i.l10n.amPM[0]+"|"+i.l10n.amPM[1]+"|"+i.l10n.amPM[0].toLowerCase()+"|"+i.l10n.amPM[1].toLowerCase()+")",i.formatDate=p(i)}function oe(e){if(void 0!==i.calendarContainer){ce("onPreCalendarPosition");var n=e||i._positionElement,a=Array.prototype.reduce.call(i.calendarContainer.children,function(e,n){return e+n.offsetHeight},0),t=i.calendarContainer.offsetWidth,o=i.config.position.split(" "),r=o[0],g=o.length>1?o[1]:null,l=n.getBoundingClientRect(),d=window.innerHeight-l.bottom,p="above"===r||"below"!==r&&da,c=window.pageYOffset+l.top+(p?-a-2:n.offsetHeight+2);if(u(i.calendarContainer,"arrowTop",!p),u(i.calendarContainer,"arrowBottom",p),!i.config.inline){var h=window.pageXOffset+l.left-(null!=g&&"center"===g?(t-l.width)/2:0),s=window.document.body.offsetWidth-l.right,A=h+t>window.document.body.offsetWidth;u(i.calendarContainer,"rightMost",A),i.config.static||(i.calendarContainer.style.top=c+"px",A?(i.calendarContainer.style.left="auto",i.calendarContainer.style.right=s+"px"):(i.calendarContainer.style.left=h+"px",i.calendarContainer.style.right="auto"))}}}function re(){i.config.noCalendar||i.isMobile||(Ae(),G())}function ge(){i._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(i.close,0):i.close()}function le(e){e.preventDefault(),e.stopPropagation();var n=function e(n,a){return a(n)?n:n.parentNode?e(n.parentNode,a):void 0}(e.target,function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("disabled")&&!e.classList.contains("notAllowed")});if(void 0!==n){var a=n,t=i.latestSelectedDateObj=new Date(a.dateObj.getTime()),o=(t.getMonth()i.currentMonth+i.config.showMonths-1)&&"range"!==i.config.mode;if(i.selectedDateElem=a,"single"===i.config.mode)i.selectedDates=[t];else if("multiple"===i.config.mode){var r=se(t);r?i.selectedDates.splice(parseInt(r),1):i.selectedDates.push(t)}else"range"===i.config.mode&&(2===i.selectedDates.length&&i.clear(!1),i.selectedDates.push(t),0!==h(t,i.selectedDates[0],!0)&&i.selectedDates.sort(function(e,n){return e.getTime()-n.getTime()}));if(B(),o){var g=i.currentYear!==t.getFullYear();i.currentYear=t.getFullYear(),i.currentMonth=t.getMonth(),g&&ce("onYearChange"),ce("onMonthChange")}if(Ae(),G(),I(),me(),i.config.enableTime&&setTimeout(function(){return i.showTimeInput=!0},50),"range"===i.config.mode&&(1===i.selectedDates.length?ee(a):Ae()),o||"range"===i.config.mode||1!==i.config.showMonths?i.selectedDateElem&&i.selectedDateElem.focus():_(a),void 0!==i.hourElement&&setTimeout(function(){return void 0!==i.hourElement&&i.hourElement.select()},451),i.config.closeOnSelect){var l="single"===i.config.mode&&!i.config.enableTime,d="range"===i.config.mode&&2===i.selectedDates.length&&!i.config.enableTime;(l||d)&&ge()}j()}}i.parseDate=c({config:i.config,l10n:i.l10n}),i._handlers=[],i._bind=D,i._setHoursFromDate=v,i._positionCalendar=oe,i.changeMonth=q,i.changeYear=X,i.clear=function(e){void 0===e&&(e=!0),i.input.value="",void 0!==i.altInput&&(i.altInput.value=""),void 0!==i.mobileInput&&(i.mobileInput.value=""),i.selectedDates=[],i.latestSelectedDateObj=void 0,i.showTimeInput=!1,!0===i.config.enableTime&&I(),i.redraw(),e&&ce("onChange")},i.close=function(){i.isOpen=!1,i.isMobile||(i.calendarContainer.classList.remove("open"),i._input.classList.remove("active")),ce("onClose")},i._createElement=b,i.destroy=function(){void 0!==i.config&&ce("onDestroy");for(var e=i._handlers.length;e--;){var n=i._handlers[e];n.element.removeEventListener(n.event,n.handler,n.options)}i._handlers=[],i.mobileInput?(i.mobileInput.parentNode&&i.mobileInput.parentNode.removeChild(i.mobileInput),i.mobileInput=void 0):i.calendarContainer&&i.calendarContainer.parentNode&&i.calendarContainer.parentNode.removeChild(i.calendarContainer),i.altInput&&(i.input.type="text",i.altInput.parentNode&&i.altInput.parentNode.removeChild(i.altInput),delete i.altInput),i.input&&(i.input.type=i.input._type,i.input.classList.remove("flatpickr-input"),i.input.removeAttribute("readonly"),i.input.value=""),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete i[e]}catch(e){}})},i.isEnabled=K,i.jumpToDate=F,i.open=function(e,n){if(void 0===n&&(n=i._input),!0===i.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),setTimeout(function(){void 0!==i.mobileInput&&i.mobileInput.focus()},0),void ce("onOpen");if(!i._input.disabled&&!i.config.inline){var a=i.isOpen;i.isOpen=!0,a||(i.calendarContainer.classList.add("open"),i._input.classList.add("active"),ce("onOpen"),oe(n)),!0===i.config.enableTime&&!0===i.config.noCalendar&&(0===i.selectedDates.length&&(i.setDate(void 0!==i.config.minDate?new Date(i.config.minDate.getTime()):new Date,!1),I(),me()),!1!==i.config.allowInput||void 0!==e&&i.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return i.hourElement.select()},50))}},i.redraw=re,i.set=function(e,n){null!==e&&"object"==typeof e?Object.assign(i.config,e):(i.config[e]=n,void 0!==ie[e]&&ie[e].forEach(function(e){return e()})),i.redraw(),F()},i.setDate=function(e,n,a){if(void 0===n&&(n=!1),void 0===a&&(a=i.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return i.clear(n);de(e,a),i.showTimeInput=i.selectedDates.length>0,i.latestSelectedDateObj=i.selectedDates[0],i.redraw(),F(),v(),me(n),n&&ce("onChange")},i.toggle=function(e){if(!0===i.isOpen)return i.close();i.open(e)};var ie={locale:[te,J],showMonths:[O,k,H]};function de(e,n){var a=[];if(e instanceof Array)a=e.map(function(e){return i.parseDate(e,n)});else if(e instanceof Date||"number"==typeof e)a=[i.parseDate(e,n)];else if("string"==typeof e)switch(i.config.mode){case"single":case"time":a=[i.parseDate(e,n)];break;case"multiple":a=e.split(i.config.conjunction).map(function(e){return i.parseDate(e,n)});break;case"range":a=e.split(i.l10n.rangeSeparator).map(function(e){return i.parseDate(e,n)})}else i.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));i.selectedDates=a.filter(function(e){return e instanceof Date&&K(e,!1)}),"range"===i.config.mode&&i.selectedDates.sort(function(e,n){return e.getTime()-n.getTime()})}function pe(e){return e.slice().map(function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?i.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:i.parseDate(e.from,void 0),to:i.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function ce(e,n){var a=i.config[e];if(void 0!==a&&a.length>0)for(var t=0;a[t]&&ti.config.maxDate.getMonth():i.currentYear>i.config.maxDate.getFullYear()))}function me(e){if(void 0===e&&(e=!0),0===i.selectedDates.length)return i.clear(e);void 0!==i.mobileInput&&i.mobileFormatStr&&(i.mobileInput.value=void 0!==i.latestSelectedDateObj?i.formatDate(i.latestSelectedDateObj,i.mobileFormatStr):"");var n="range"!==i.config.mode?i.config.conjunction:i.l10n.rangeSeparator;i.input.value=i.selectedDates.map(function(e){return i.formatDate(e,i.config.dateFormat)}).join(n),void 0!==i.altInput&&(i.altInput.value=i.selectedDates.map(function(e){return i.formatDate(e,i.config.altFormat)}).join(n)),!1!==e&&ce("onValueUpdate")}function ue(e){e.preventDefault();var n=i.prevMonthNav.contains(e.target),a=i.nextMonthNav.contains(e.target);n||a?q(n?-1:1):i.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains("arrowUp")?i.changeYear(i.currentYear+1):e.target.classList.contains("arrowDown")&&i.changeYear(i.currentYear-1)}return function(){i.element=i.input=o,i.isOpen=!1,function(){var e=["wrap","weekNumbers","allowInput","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],n=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a=Object.assign({},g,JSON.parse(JSON.stringify(o.dataset||{}))),r={};i.config.parseDate=a.parseDate,i.config.formatDate=a.formatDate,Object.defineProperty(i.config,"enable",{get:function(){return i.config._enable},set:function(e){i.config._enable=pe(e)}}),Object.defineProperty(i.config,"disable",{get:function(){return i.config._disable},set:function(e){i.config._disable=pe(e)}});var l="time"===a.mode;a.dateFormat||!a.enableTime&&!l||(r.dateFormat=a.noCalendar||l?"H:i"+(a.enableSeconds?":S":""):E.defaultConfig.dateFormat+" H:i"+(a.enableSeconds?":S":"")),a.altInput&&(a.enableTime||l)&&!a.altFormat&&(r.altFormat=a.noCalendar||l?"h:i"+(a.enableSeconds?":S K":" K"):E.defaultConfig.altFormat+" h:i"+(a.enableSeconds?":S":"")+" K"),Object.defineProperty(i.config,"minDate",{get:function(){return i.config._minDate},set:ae("min")}),Object.defineProperty(i.config,"maxDate",{get:function(){return i.config._maxDate},set:ae("max")});var d=function(e){return function(n){i.config["min"===e?"_minTime":"_maxTime"]=i.parseDate(n,"H:i")}};Object.defineProperty(i.config,"minTime",{get:function(){return i.config._minTime},set:d("min")}),Object.defineProperty(i.config,"maxTime",{get:function(){return i.config._maxTime},set:d("max")}),"time"===a.mode&&(i.config.noCalendar=!0,i.config.enableTime=!0),Object.assign(i.config,r,a);for(var p=0;p0&&i.input.value===i.input.placeholder?null:i.input.value);e&&de(e,i.config.dateFormat);var n=i.selectedDates.length>0?i.selectedDates[0]:i.config.minDate&&i.config.minDate.getTime()>i.now.getTime()?i.config.minDate:i.config.maxDate&&i.config.maxDate.getTime()0&&(i.latestSelectedDateObj=i.selectedDates[0]),void 0!==i.config.minTime&&(i.config.minTime=i.parseDate(i.config.minTime,"H:i")),void 0!==i.config.maxTime&&(i.config.maxTime=i.parseDate(i.config.maxTime,"H:i")),i.minDateHasTime=!!i.config.minDate&&(i.config.minDate.getHours()>0||i.config.minDate.getMinutes()>0||i.config.minDate.getSeconds()>0),i.maxDateHasTime=!!i.config.maxDate&&(i.config.maxDate.getHours()>0||i.config.maxDate.getMinutes()>0||i.config.maxDate.getSeconds()>0),Object.defineProperty(i,"showTimeInput",{get:function(){return i._showTimeInput},set:function(e){i._showTimeInput=e,i.calendarContainer&&u(i.calendarContainer,"showTimeInput",e),i.isOpen&&oe()}})}(),i.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=i.currentMonth),void 0===n&&(n=i.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:i.l10n.daysInMonth[e]}},i.isMobile||U(),N(),(i.selectedDates.length||i.config.noCalendar)&&(i.config.enableTime&&v(i.config.noCalendar?i.latestSelectedDateObj||i.config.minDate:void 0),me(!1)),k(),i.showTimeInput=i.selectedDates.length>0||i.config.noCalendar;var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!i.isMobile&&e&&oe(),ce("onReady")}(),i}function y(e,n){for(var a=Array.prototype.slice.call(e),t=[],o=0;o11)]},M:function(e,n){return r(e.getMonth(),!0,n)},S:function(n){return e(n.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,a){return a.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(n){return e(n.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(n){return e(n.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(n){return e(n.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},d={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return"th";switch(n%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year"},p=function(e){var n=e.config,a=void 0===n?m:n,t=e.l10n,o=void 0===t?d:t;return function(e,n,t){if(void 0!==a.formatDate)return a.formatDate(e,n);var r=t||o;return n.split("").map(function(n,t,o){return i[n]&&"\\"!==o[t-1]?i[n](e,r,a):"\\"!==n?n:""}).join("")}},c=function(e){var n=e.config,a=void 0===n?m:n,t=e.l10n,o=void 0===t?d:t;return function(e,n,t){if(0===e||e){var r,i=e;if(e instanceof Date)r=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)r=new Date(e);else if("string"==typeof e){var d=n||(a||m).dateFormat,p=String(e).trim();if("today"===p)r=new Date,t=!0;else if(/Z$/.test(p)||/GMT$/.test(p))r=new Date(e);else if(a&&a.parseDate)r=a.parseDate(e,d);else{r=a&&a.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var c,h=[],s=0,A=0,u="";sMath.min(n,a)&&e",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1};function u(e,n,a){if(!0===a)return e.classList.add(n);e.classList.remove(n)}function b(e,n,a){var t=window.document.createElement(e);return n=n||"",a=a||"",t.className=n,void 0!==a&&(t.textContent=a),t}function f(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function x(e,n){var a=b("div","numInputWrapper"),t=b("input","numInput "+e),o=b("span","arrowUp"),r=b("span","arrowDown");if(t.type="text",t.pattern="\\d*",void 0!==n)for(var g in n)t.setAttribute(g,n[g]);return a.appendChild(t),a.appendChild(o),a.appendChild(r),a}"function"!=typeof Object.assign&&(Object.assign=function(e){if(!e)throw TypeError("Cannot convert undefined or null to object");for(var n=arguments.length,a=new Array(n>1?n-1:0),t=1;tg&&(c=o===i.hourElement?c-g-n(!i.amPM):r,s&&z(void 0,1,i.hourElement)),i.amPM&&h&&(1===l?c+d===23:Math.abs(c-d)>l)&&(i.amPM.textContent=i.l10n.amPM[n(i.amPM.textContent===i.l10n.amPM[0])]),o.value=e(c)}}(a),B(),me(),i._debouncedChange())}function B(){if(void 0!==i.hourElement&&void 0!==i.minuteElement){var e=(parseInt(i.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(i.minuteElement.value,10)||0)%60,t=void 0!==i.secondElement?(parseInt(i.secondElement.value,10)||0)%60:0;void 0!==i.amPM&&(e=function(e,a){return e%12+12*n(a===i.l10n.amPM[1])}(e,i.amPM.textContent));var o=void 0!==i.config.minTime||i.config.minDate&&i.minDateHasTime&&i.latestSelectedDateObj&&0===h(i.latestSelectedDateObj,i.config.minDate,!0),r=void 0!==i.config.maxTime||i.config.maxDate&&i.maxDateHasTime&&i.latestSelectedDateObj&&0===h(i.latestSelectedDateObj,i.config.maxDate,!0);if(r){var g=void 0!==i.config.maxTime?i.config.maxTime:i.config.maxDate;(e=Math.min(e,g.getHours()))===g.getHours()&&(a=Math.min(a,g.getMinutes())),a===g.getMinutes()&&(t=Math.min(t,g.getSeconds()))}if(o){var l=void 0!==i.config.minTime?i.config.minTime:i.config.minDate;(e=Math.max(e,l.getHours()))===l.getHours()&&(a=Math.max(a,l.getMinutes())),a===l.getMinutes()&&(t=Math.max(t,l.getSeconds()))}Q(e,a,t)}}function v(e){var n=e||i.latestSelectedDateObj;n&&Q(n.getHours(),n.getMinutes(),n.getSeconds())}function I(){var e=i.config.defaultHour,n=i.config.defaultMinute,a=i.config.defaultSeconds;if(void 0!==i.config.minDate){var t=i.config.minDate.getHours(),o=i.config.minDate.getMinutes();(e=Math.max(e,t))===t&&(n=Math.max(o,n)),e===t&&n===o&&(a=i.config.minDate.getSeconds())}if(void 0!==i.config.maxDate){var r=i.config.maxDate.getHours(),g=i.config.maxDate.getMinutes();(e=Math.min(e,r))===r&&(n=Math.min(g,n)),e===r&&n===g&&(a=i.config.maxDate.getSeconds())}Q(e,n,a)}function Q(a,t,o){void 0!==i.latestSelectedDateObj&&i.latestSelectedDateObj.setHours(a%24,t,o||0,0),i.hourElement&&i.minuteElement&&!i.isMobile&&(i.hourElement.value=e(i.config.time_24hr?a:(12+a)%12+12*n(a%12==0)),i.minuteElement.value=e(t),void 0!==i.amPM&&(i.amPM.textContent=i.l10n.amPM[n(a>=12)]),void 0!==i.secondElement&&(i.secondElement.value=e(o)))}function M(e){var n=parseInt(e.target.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&X(n)}function D(e,n,a,t){return n instanceof Array?n.forEach(function(n){return D(e,n,a,t)}):e instanceof Array?e.forEach(function(e){return D(e,n,a,t)}):(e.addEventListener(n,a,t),void i._handlers.push({element:e,event:n,handler:a,options:t}))}function C(e){return function(n){1===n.which&&e(n)}}function j(){ce("onChange")}function N(){if(i.config.wrap&&["open","close","toggle","clear"].forEach(function(e){Array.prototype.forEach.call(i.element.querySelectorAll("[data-"+e+"]"),function(n){return D(n,"click",i[e])})}),i.isMobile)!function(){var e=i.config.enableTime?i.config.noCalendar?"time":"datetime-local":"date";i.mobileInput=b("input",i.input.className+" flatpickr-mobile"),i.mobileInput.step=i.input.getAttribute("step")||"any",i.mobileInput.tabIndex=1,i.mobileInput.type=e,i.mobileInput.disabled=i.input.disabled,i.mobileInput.required=i.input.required,i.mobileInput.placeholder=i.input.placeholder,i.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",i.selectedDates.length>0&&(i.mobileInput.defaultValue=i.mobileInput.value=i.formatDate(i.selectedDates[0],i.mobileFormatStr)),i.config.minDate&&(i.mobileInput.min=i.formatDate(i.config.minDate,"Y-m-d")),i.config.maxDate&&(i.mobileInput.max=i.formatDate(i.config.maxDate,"Y-m-d")),i.input.type="hidden",void 0!==i.altInput&&(i.altInput.type="hidden");try{i.input.parentNode&&i.input.parentNode.insertBefore(i.mobileInput,i.input.nextSibling)}catch(e){}D(i.mobileInput,"change",function(e){i.setDate(e.target.value,!1,i.mobileFormatStr),ce("onChange"),ce("onClose")})}();else{var e=a(ne,50);i._debouncedChange=a(j,w),i.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&D(i.daysContainer,"mouseover",function(e){"range"===i.config.mode&&ee(e.target)}),D(window.document.body,"keydown",$),i.config.static||D(i._input,"keydown",$),i.config.inline||i.config.static||D(window,"resize",e),void 0!==window.ontouchstart?D(window.document,"click",W):D(window.document,"mousedown",C(W)),D(window.document,"focus",W,{capture:!0}),!0===i.config.clickOpens&&(D(i._input,"focus",i.open),D(i._input,"mousedown",C(i.open))),void 0!==i.daysContainer&&(D(i.monthNav,"mousedown",C(ue)),D(i.monthNav,["keyup","increment"],M),D(i.daysContainer,"mousedown",C(le))),void 0!==i.timeContainer&&void 0!==i.minuteElement&&void 0!==i.hourElement&&(D(i.timeContainer,["increment"],y),D(i.timeContainer,"blur",y,{capture:!0}),D(i.timeContainer,"mousedown",C(S)),D([i.hourElement,i.minuteElement],["focus","click"],function(e){return e.target.select()}),void 0!==i.secondElement&&D(i.secondElement,"focus",function(){return i.secondElement&&i.secondElement.select()}),void 0!==i.amPM&&D(i.amPM,"mousedown",C(function(e){y(e),j()})))}}function F(e){var n=void 0!==e?i.parseDate(e):i.latestSelectedDateObj||(i.config.minDate&&i.config.minDate>i.now?i.config.minDate:i.config.maxDate&&i.config.maxDate11)]),i.amPM.title=i.l10n.toggleTitle,i.amPM.tabIndex=-1,i.timeContainer.appendChild(i.amPM)),i.timeContainer}()),u(i.calendarContainer,"rangeMode","range"===i.config.mode),u(i.calendarContainer,"animate",!0===i.config.animate),u(i.calendarContainer,"multiMonth",i.config.showMonths>1),i.calendarContainer.appendChild(a);var g=void 0!==i.config.appendTo&&void 0!==i.config.appendTo.nodeType;if((i.config.inline||i.config.static)&&(i.calendarContainer.classList.add(i.config.inline?"inline":"static"),i.config.inline&&(!g&&i.element.parentNode?i.element.parentNode.insertBefore(i.calendarContainer,i._input.nextSibling):void 0!==i.config.appendTo&&i.config.appendTo.appendChild(i.calendarContainer)),i.config.static)){var l=b("div","flatpickr-wrapper");i.element.parentNode&&i.element.parentNode.insertBefore(l,i.element),l.appendChild(i.element),i.altInput&&l.appendChild(i.altInput),l.appendChild(i.calendarContainer)}i.config.static||i.config.inline||(void 0!==i.config.appendTo?i.config.appendTo:window.document.body).appendChild(i.calendarContainer)}function R(e,n,a,t){var o=K(n,!0),r=b("span","flatpickr-day "+e,n.getDate().toString());return r.dateObj=n,r.$i=t,r.setAttribute("aria-label",i.formatDate(n,i.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===h(n,i.now)&&(i.todayDateElem=r,r.classList.add("today"),r.setAttribute("aria-current","date")),o?(r.tabIndex=-1,se(n)&&(r.classList.add("selected"),i.selectedDateElem=r,"range"===i.config.mode&&(u(r,"startRange",i.selectedDates[0]&&0===h(n,i.selectedDates[0],!0)),u(r,"endRange",i.selectedDates[1]&&0===h(n,i.selectedDates[1],!0)),"nextMonthDay"===e&&r.classList.add("inRange")))):r.classList.add("disabled"),"range"===i.config.mode&&function(e){return!("range"!==i.config.mode||i.selectedDates.length<2)&&h(e,i.selectedDates[0])>=0&&h(e,i.selectedDates[1])<=0}(n)&&!se(n)&&r.classList.add("inRange"),i.weekNumbers&&1===i.config.showMonths&&"prevMonthDay"!==e&&a%7==1&&i.weekNumbers.insertAdjacentHTML("beforeend",""+i.config.getWeek(n)+""),ce("onDayCreate",r),r}function T(e){e.focus(),"range"===i.config.mode&&ee(e)}function _(e){for(var n=e>0?0:i.config.showMonths-1,a=e>0?i.config.showMonths:-1,t=n;t!=a;t+=e)for(var o=i.daysContainer.children[t],r=e>0?0:o.children.length-1,g=e>0?o.children.length:-1,l=r;l!=g;l+=e){var d=o.children[l];if(-1===d.className.indexOf("hidden")&&K(d.dateObj))return d}}function Y(e,n){var a=Z(document.activeElement),t=void 0!==e?e:a?document.activeElement:void 0!==i.selectedDateElem&&Z(i.selectedDateElem)?i.selectedDateElem:void 0!==i.todayDateElem&&Z(i.todayDateElem)?i.todayDateElem:_(n>0?1:-1);return void 0===t?i._input.focus():a?void function(e,n){for(var a=-1===e.className.indexOf("Month")?e.dateObj.getMonth():i.currentMonth,t=n>0?i.config.showMonths:-1,o=n>0?1:-1,r=a-i.currentMonth;r!=t;r+=o)for(var g=i.daysContainer.children[r],l=a-i.currentMonth===r?e.$i+n:n<0?g.children.length-1:0,d=g.children.length,p=l;p>=0&&p0?d:-1);p+=o){var c=g.children[p];if(-1===c.className.indexOf("hidden")&&K(c.dateObj)&&Math.abs(e.$i-p)>=Math.abs(n))return T(c)}i.changeMonth(o),Y(_(o),0)}(t,n):T(t)}function V(e,n){for(var a=(new Date(e,n,1).getDay()-i.l10n.firstDayOfWeek+7)%7,t=i.utils.getDaysInMonth((n-1+12)%12),o=i.utils.getDaysInMonth(n),r=window.document.createDocumentFragment(),g=i.config.showMonths>1,l=g?"prevMonthDay hidden":"prevMonthDay",d=g?"nextMonthDay hidden":"nextMonthDay",p=t+1-a,c=0;p<=t;p++,c++)r.appendChild(R(l,new Date(e,n-1,p),p,c));for(p=1;p<=o;p++,c++)r.appendChild(R("",new Date(e,n,p),p,c));for(var h=o+1;h<=42-a&&(1===i.config.showMonths||c%7!=0);h++,c++)r.appendChild(R(d,new Date(e,n+1,h%o),h,c));var s=b("div","dayContainer");return s.appendChild(r),s}function G(){if(void 0!==i.daysContainer){f(i.daysContainer),i.weekNumbers&&f(i.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n0&&e\n "+n.join("")+"\n \n "}function q(e,n){void 0===n&&(n=!0);var a=n?e:e-i.currentMonth;a<0&&!0===i._hidePrevMonthArrow||a>0&&!0===i._hideNextMonthArrow||(i.currentMonth+=a,(i.currentMonth<0||i.currentMonth>11)&&(i.currentYear+=i.currentMonth>11?1:-1,i.currentMonth=(i.currentMonth+12)%12,ce("onYearChange")),G(),ce("onMonthChange"),Ae())}function P(e){return!(!i.config.appendTo||!i.config.appendTo.contains(e))||i.calendarContainer.contains(e)}function W(e){if(i.isOpen&&!i.config.inline){var n=P(e.target),a=e.target===i.input||e.target===i.altInput||i.element.contains(e.target)||e.path&&e.path.indexOf&&(~e.path.indexOf(i.input)||~e.path.indexOf(i.altInput)),t="blur"===e.type?a&&e.relatedTarget&&!P(e.relatedTarget):!a&&!n,o=!i.config.ignoredFocusElements.some(function(n){return n.contains(e.target)});t&&o&&(i.close(),"range"===i.config.mode&&1===i.selectedDates.length&&(i.clear(!1),i.redraw()))}}function X(e){if(!(!e||i.config.minDate&&ei.config.maxDate.getFullYear())){var n=e,a=i.currentYear!==n;i.currentYear=n||i.currentYear,i.config.maxDate&&i.currentYear===i.config.maxDate.getFullYear()?i.currentMonth=Math.min(i.config.maxDate.getMonth(),i.currentMonth):i.config.minDate&&i.currentYear===i.config.minDate.getFullYear()&&(i.currentMonth=Math.max(i.config.minDate.getMonth(),i.currentMonth)),a&&(i.redraw(),ce("onYearChange"))}}function K(e,n){void 0===n&&(n=!0);var a=i.parseDate(e,void 0,n);if(i.config.minDate&&a&&h(a,i.config.minDate,void 0!==n?n:!i.minDateHasTime)<0||i.config.maxDate&&a&&h(a,i.config.maxDate,void 0!==n?n:!i.maxDateHasTime)>0)return!1;if(0===i.config.enable.length&&0===i.config.disable.length)return!0;if(void 0===a)return!1;for(var t,o=i.config.enable.length>0,r=o?i.config.enable:i.config.disable,g=0;g=t.from.getTime()&&a.getTime()<=t.to.getTime())return o}return!o}function Z(e){return void 0!==i.daysContainer&&-1===e.className.indexOf("hidden")&&i.daysContainer.contains(e)}function $(e){var n=e.target===i._input,a=i.config.allowInput,t=i.isOpen&&(!a||!n),o=i.config.inline&&n&&!a;if(13===e.keyCode&&n){if(a)return i.setDate(i._input.value,!0,e.target===i.altInput?i.config.altFormat:i.config.dateFormat),e.target.blur();i.open()}else if(P(e.target)||t||o){var r=!!i.timeContainer&&i.timeContainer.contains(e.target);switch(e.keyCode){case 13:r?y():le(e);break;case 27:e.preventDefault(),ge();break;case 8:case 46:n&&!i.config.allowInput&&(e.preventDefault(),i.clear());break;case 37:case 39:if(r)i.hourElement&&i.hourElement.focus();else if(e.preventDefault(),void 0!==i.daysContainer&&(!1===a||Z(document.activeElement))){var g=39===e.keyCode?1:-1;e.ctrlKey?(q(g),Y(_(1),0)):Y(void 0,g)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;i.daysContainer?e.ctrlKey?(X(i.currentYear-l),Y(_(1),0)):r||Y(void 0,7*l):i.config.enableTime&&(!r&&i.hourElement&&i.hourElement.focus(),y(e),i._debouncedChange());break;case 9:if(!r)break;var d=[i.hourElement,i.minuteElement,i.secondElement,i.amPM].filter(function(e){return e}),p=d.indexOf(e.target);if(-1!==p){var c=d[p+(e.shiftKey?-1:1)];void 0!==c&&(e.preventDefault(),c.focus())}}}if(void 0!==i.amPM&&e.target===i.amPM)switch(e.key){case i.l10n.amPM[0].charAt(0):case i.l10n.amPM[0].charAt(0).toLowerCase():i.amPM.textContent=i.l10n.amPM[0],B(),me();break;case i.l10n.amPM[1].charAt(0):case i.l10n.amPM[1].charAt(0).toLowerCase():i.amPM.textContent=i.l10n.amPM[1],B(),me()}ce("onKeyDown",e)}function ee(e){if(1===i.selectedDates.length&&e.classList.contains("flatpickr-day")&&!e.classList.contains("disabled")){for(var n=e.dateObj.getTime(),a=i.parseDate(i.selectedDates[0],void 0,!0).getTime(),t=Math.min(n,i.selectedDates[0].getTime()),o=Math.max(n,i.selectedDates[0].getTime()),r=!1,g=0,l=0,d=t;dt&&dg)?g=d:d>a&&(!l||d0&&m0&&m>l;return u?(d.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(e){d.classList.remove(e)}),"continue"):r&&!u?"continue":(["startRange","inRange","endRange","notAllowed"].forEach(function(e){d.classList.remove(e)}),e.classList.add(n0&&h&&h.lastChild.dateObj.getTime()>=m||(an&&m===a&&d.classList.add("endRange"),m>=g&&(0===l||m<=l)&&s(m,a,n)&&d.classList.add("inRange"))))},u=0,b=c.children.length;u0||a.getMinutes()>0||a.getSeconds()>0),i.selectedDates&&(i.selectedDates=i.selectedDates.filter(function(e){return K(e)}),i.selectedDates.length||"min"!==e||v(a),me()),i.daysContainer&&(re(),void 0!==a?i.currentYearElement[e]=a.getFullYear().toString():i.currentYearElement.removeAttribute(e),i.currentYearElement.disabled=!!t&&void 0!==a&&t.getFullYear()===a.getFullYear())}}function te(){"object"!=typeof i.config.locale&&void 0===E.l10ns[i.config.locale]&&i.config.errorHandler(new Error("flatpickr: invalid locale "+i.config.locale)),i.l10n=Object.assign({},E.l10ns.default,"object"==typeof i.config.locale?i.config.locale:"default"!==i.config.locale?E.l10ns[i.config.locale]:void 0),l.K="("+i.l10n.amPM[0]+"|"+i.l10n.amPM[1]+"|"+i.l10n.amPM[0].toLowerCase()+"|"+i.l10n.amPM[1].toLowerCase()+")",i.formatDate=p(i)}function oe(e){if(void 0!==i.calendarContainer){ce("onPreCalendarPosition");var n=e||i._positionElement,a=Array.prototype.reduce.call(i.calendarContainer.children,function(e,n){return e+n.offsetHeight},0),t=i.calendarContainer.offsetWidth,o=i.config.position.split(" "),r=o[0],g=o.length>1?o[1]:null,l=n.getBoundingClientRect(),d=window.innerHeight-l.bottom,p="above"===r||"below"!==r&&da,c=window.pageYOffset+l.top+(p?-a-2:n.offsetHeight+2);if(u(i.calendarContainer,"arrowTop",!p),u(i.calendarContainer,"arrowBottom",p),!i.config.inline){var h=window.pageXOffset+l.left-(null!=g&&"center"===g?(t-l.width)/2:0),s=window.document.body.offsetWidth-l.right,A=h+t>window.document.body.offsetWidth;u(i.calendarContainer,"rightMost",A),i.config.static||(i.calendarContainer.style.top=c+"px",A?(i.calendarContainer.style.left="auto",i.calendarContainer.style.right=s+"px"):(i.calendarContainer.style.left=h+"px",i.calendarContainer.style.right="auto"))}}}function re(){i.config.noCalendar||i.isMobile||(Ae(),G())}function ge(){i._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(i.close,0):i.close()}function le(e){e.preventDefault(),e.stopPropagation();var n=function e(n,a){return a(n)?n:n.parentNode?e(n.parentNode,a):void 0}(e.target,function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("disabled")&&!e.classList.contains("notAllowed")});if(void 0!==n){var a=n,t=i.latestSelectedDateObj=new Date(a.dateObj.getTime()),o=(t.getMonth()i.currentMonth+i.config.showMonths-1)&&"range"!==i.config.mode;if(i.selectedDateElem=a,"single"===i.config.mode)i.selectedDates=[t];else if("multiple"===i.config.mode){var r=se(t);r?i.selectedDates.splice(parseInt(r),1):i.selectedDates.push(t)}else"range"===i.config.mode&&(2===i.selectedDates.length&&i.clear(!1),i.selectedDates.push(t),0!==h(t,i.selectedDates[0],!0)&&i.selectedDates.sort(function(e,n){return e.getTime()-n.getTime()}));if(B(),o){var g=i.currentYear!==t.getFullYear();i.currentYear=t.getFullYear(),i.currentMonth=t.getMonth(),g&&ce("onYearChange"),ce("onMonthChange")}if(Ae(),G(),I(),me(),i.config.enableTime&&setTimeout(function(){return i.showTimeInput=!0},50),"range"===i.config.mode&&(1===i.selectedDates.length?ee(a):Ae()),o||"range"===i.config.mode||1!==i.config.showMonths?i.selectedDateElem&&i.selectedDateElem.focus():T(a),void 0!==i.hourElement&&setTimeout(function(){return void 0!==i.hourElement&&i.hourElement.select()},451),i.config.closeOnSelect){var l="single"===i.config.mode&&!i.config.enableTime,d="range"===i.config.mode&&2===i.selectedDates.length&&!i.config.enableTime;(l||d)&&ge()}j()}}i.parseDate=c({config:i.config,l10n:i.l10n}),i._handlers=[],i._bind=D,i._setHoursFromDate=v,i._positionCalendar=oe,i.changeMonth=q,i.changeYear=X,i.clear=function(e){void 0===e&&(e=!0),i.input.value="",void 0!==i.altInput&&(i.altInput.value=""),void 0!==i.mobileInput&&(i.mobileInput.value=""),i.selectedDates=[],i.latestSelectedDateObj=void 0,i.showTimeInput=!1,!0===i.config.enableTime&&I(),i.redraw(),e&&ce("onChange")},i.close=function(){i.isOpen=!1,i.isMobile||(i.calendarContainer.classList.remove("open"),i._input.classList.remove("active")),ce("onClose")},i._createElement=b,i.destroy=function(){void 0!==i.config&&ce("onDestroy");for(var e=i._handlers.length;e--;){var n=i._handlers[e];n.element.removeEventListener(n.event,n.handler,n.options)}i._handlers=[],i.mobileInput?(i.mobileInput.parentNode&&i.mobileInput.parentNode.removeChild(i.mobileInput),i.mobileInput=void 0):i.calendarContainer&&i.calendarContainer.parentNode&&i.calendarContainer.parentNode.removeChild(i.calendarContainer),i.altInput&&(i.input.type="text",i.altInput.parentNode&&i.altInput.parentNode.removeChild(i.altInput),delete i.altInput),i.input&&(i.input.type=i.input._type,i.input.classList.remove("flatpickr-input"),i.input.removeAttribute("readonly"),i.input.value=""),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete i[e]}catch(e){}})},i.isEnabled=K,i.jumpToDate=F,i.open=function(e,n){if(void 0===n&&(n=i._input),!0===i.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),setTimeout(function(){void 0!==i.mobileInput&&i.mobileInput.focus()},0),void ce("onOpen");if(!i._input.disabled&&!i.config.inline){var a=i.isOpen;i.isOpen=!0,a||(i.calendarContainer.classList.add("open"),i._input.classList.add("active"),ce("onOpen"),oe(n)),!0===i.config.enableTime&&!0===i.config.noCalendar&&(0===i.selectedDates.length&&(i.setDate(void 0!==i.config.minDate?new Date(i.config.minDate.getTime()):new Date,!1),I(),me()),!1!==i.config.allowInput||void 0!==e&&i.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return i.hourElement.select()},50))}},i.redraw=re,i.set=function(e,n){null!==e&&"object"==typeof e?Object.assign(i.config,e):(i.config[e]=n,void 0!==ie[e]&&ie[e].forEach(function(e){return e()})),i.redraw(),F()},i.setDate=function(e,n,a){if(void 0===n&&(n=!1),void 0===a&&(a=i.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return i.clear(n);de(e,a),i.showTimeInput=i.selectedDates.length>0,i.latestSelectedDateObj=i.selectedDates[0],i.redraw(),F(),v(),me(n),n&&ce("onChange")},i.toggle=function(e){if(!0===i.isOpen)return i.close();i.open(e)};var ie={locale:[te,J],showMonths:[O,k,H]};function de(e,n){var a=[];if(e instanceof Array)a=e.map(function(e){return i.parseDate(e,n)});else if(e instanceof Date||"number"==typeof e)a=[i.parseDate(e,n)];else if("string"==typeof e)switch(i.config.mode){case"single":case"time":a=[i.parseDate(e,n)];break;case"multiple":a=e.split(i.config.conjunction).map(function(e){return i.parseDate(e,n)});break;case"range":a=e.split(i.l10n.rangeSeparator).map(function(e){return i.parseDate(e,n)})}else i.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));i.selectedDates=a.filter(function(e){return e instanceof Date&&K(e,!1)}),"range"===i.config.mode&&i.selectedDates.sort(function(e,n){return e.getTime()-n.getTime()})}function pe(e){return e.slice().map(function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?i.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:i.parseDate(e.from,void 0),to:i.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function ce(e,n){var a=i.config[e];if(void 0!==a&&a.length>0)for(var t=0;a[t]&&ti.config.maxDate.getMonth():i.currentYear>i.config.maxDate.getFullYear()))}function me(e){if(void 0===e&&(e=!0),0===i.selectedDates.length)return i.clear(e);void 0!==i.mobileInput&&i.mobileFormatStr&&(i.mobileInput.value=void 0!==i.latestSelectedDateObj?i.formatDate(i.latestSelectedDateObj,i.mobileFormatStr):"");var n="range"!==i.config.mode?i.config.conjunction:i.l10n.rangeSeparator;i.input.value=i.selectedDates.map(function(e){return i.formatDate(e,i.config.dateFormat)}).join(n),void 0!==i.altInput&&(i.altInput.value=i.selectedDates.map(function(e){return i.formatDate(e,i.config.altFormat)}).join(n)),!1!==e&&ce("onValueUpdate")}function ue(e){e.preventDefault();var n=i.prevMonthNav.contains(e.target),a=i.nextMonthNav.contains(e.target);n||a?q(n?-1:1):i.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains("arrowUp")?i.changeYear(i.currentYear+1):e.target.classList.contains("arrowDown")&&i.changeYear(i.currentYear-1)}return function(){i.element=i.input=o,i.isOpen=!1,function(){var e=["wrap","weekNumbers","allowInput","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],n=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a=Object.assign({},g,JSON.parse(JSON.stringify(o.dataset||{}))),r={};i.config.parseDate=a.parseDate,i.config.formatDate=a.formatDate,Object.defineProperty(i.config,"enable",{get:function(){return i.config._enable},set:function(e){i.config._enable=pe(e)}}),Object.defineProperty(i.config,"disable",{get:function(){return i.config._disable},set:function(e){i.config._disable=pe(e)}});var l="time"===a.mode;a.dateFormat||!a.enableTime&&!l||(r.dateFormat=a.noCalendar||l?"H:i"+(a.enableSeconds?":S":""):E.defaultConfig.dateFormat+" H:i"+(a.enableSeconds?":S":"")),a.altInput&&(a.enableTime||l)&&!a.altFormat&&(r.altFormat=a.noCalendar||l?"h:i"+(a.enableSeconds?":S K":" K"):E.defaultConfig.altFormat+" h:i"+(a.enableSeconds?":S":"")+" K"),Object.defineProperty(i.config,"minDate",{get:function(){return i.config._minDate},set:ae("min")}),Object.defineProperty(i.config,"maxDate",{get:function(){return i.config._maxDate},set:ae("max")});var d=function(e){return function(n){i.config["min"===e?"_minTime":"_maxTime"]=i.parseDate(n,"H:i")}};Object.defineProperty(i.config,"minTime",{get:function(){return i.config._minTime},set:d("min")}),Object.defineProperty(i.config,"maxTime",{get:function(){return i.config._maxTime},set:d("max")}),"time"===a.mode&&(i.config.noCalendar=!0,i.config.enableTime=!0),Object.assign(i.config,r,a);for(var p=0;p0&&i.input.value===i.input.placeholder?null:i.input.value);e&&de(e,i.config.dateFormat);var n=i.selectedDates.length>0?i.selectedDates[0]:i.config.minDate&&i.config.minDate.getTime()>i.now.getTime()?i.config.minDate:i.config.maxDate&&i.config.maxDate.getTime()0&&(i.latestSelectedDateObj=i.selectedDates[0]),void 0!==i.config.minTime&&(i.config.minTime=i.parseDate(i.config.minTime,"H:i")),void 0!==i.config.maxTime&&(i.config.maxTime=i.parseDate(i.config.maxTime,"H:i")),i.minDateHasTime=!!i.config.minDate&&(i.config.minDate.getHours()>0||i.config.minDate.getMinutes()>0||i.config.minDate.getSeconds()>0),i.maxDateHasTime=!!i.config.maxDate&&(i.config.maxDate.getHours()>0||i.config.maxDate.getMinutes()>0||i.config.maxDate.getSeconds()>0),Object.defineProperty(i,"showTimeInput",{get:function(){return i._showTimeInput},set:function(e){i._showTimeInput=e,i.calendarContainer&&u(i.calendarContainer,"showTimeInput",e),i.isOpen&&oe()}})}(),i.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=i.currentMonth),void 0===n&&(n=i.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:i.l10n.daysInMonth[e]}},i.isMobile||U(),N(),(i.selectedDates.length||i.config.noCalendar)&&(i.config.enableTime&&v(i.config.noCalendar?i.latestSelectedDateObj||i.config.minDate:void 0),me(!1)),k(),i.showTimeInput=i.selectedDates.length>0||i.config.noCalendar;var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!i.isMobile&&e&&oe(),ce("onReady")}(),i}function y(e,n){for(var a=Array.prototype.slice.call(e),t=[],o=0;o>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!***************************************************!*\ !*** ./node_modules/core-js/fn/array/for-each.js ***! \***************************************************/ @@ -44,11 +48,15 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!***************************************************!*\ !*** ./node_modules/core-js/fn/array/includes.js ***! \***************************************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){a(/*! ../../modules/es7.array.includes */"./node_modules/core-js/modules/es7.array.includes.js"),e.exports=a(/*! ../../modules/_core */"./node_modules/core-js/modules/_core.js").Array.includes},"./node_modules/core-js/fn/number/is-integer.js": /*!******************************************************!*\ !*** ./node_modules/core-js/fn/number/is-integer.js ***! \******************************************************/ /*! no static exports found */function(e,n,a){a(/*! ../../modules/es6.number.is-integer */"./node_modules/core-js/modules/es6.number.is-integer.js"),e.exports=a(/*! ../../modules/_core */"./node_modules/core-js/modules/_core.js").Number.isInteger},"./node_modules/core-js/fn/string/starts-with.js": +======= +/*! no static exports found */function(e,n,a){a(/*! ../../modules/es7.array.includes */"./node_modules/core-js/modules/es7.array.includes.js"),e.exports=a(/*! ../../modules/_core */"./node_modules/core-js/modules/_core.js").Array.includes},"./node_modules/core-js/fn/string/starts-with.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!*******************************************************!*\ !*** ./node_modules/core-js/fn/string/starts-with.js ***! \*******************************************************/ @@ -144,11 +152,15 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!***************************************************!*\ !*** ./node_modules/core-js/modules/_is-array.js ***! \***************************************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){var t=a(/*! ./_cof */"./node_modules/core-js/modules/_cof.js");e.exports=Array.isArray||function(e){return"Array"==t(e)}},"./node_modules/core-js/modules/_is-integer.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/modules/_is-integer.js ***! \*****************************************************/ /*! no static exports found */function(e,n,a){var t=a(/*! ./_is-object */"./node_modules/core-js/modules/_is-object.js"),o=Math.floor;e.exports=function(e){return!t(e)&&isFinite(e)&&o(e)===e}},"./node_modules/core-js/modules/_is-object.js": +======= +/*! no static exports found */function(e,n,a){var t=a(/*! ./_cof */"./node_modules/core-js/modules/_cof.js");e.exports=Array.isArray||function(e){return"Array"==t(e)}},"./node_modules/core-js/modules/_is-object.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!****************************************************!*\ !*** ./node_modules/core-js/modules/_is-object.js ***! \****************************************************/ @@ -220,11 +232,15 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!************************************************************!*\ !*** ./node_modules/core-js/modules/es6.array.for-each.js ***! \************************************************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){"use strict";var t=a(/*! ./_export */"./node_modules/core-js/modules/_export.js"),o=a(/*! ./_array-methods */"./node_modules/core-js/modules/_array-methods.js")(0),r=a(/*! ./_strict-method */"./node_modules/core-js/modules/_strict-method.js")([].forEach,!0);t(t.P+t.F*!r,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},"./node_modules/core-js/modules/es6.number.is-integer.js": /*!***************************************************************!*\ !*** ./node_modules/core-js/modules/es6.number.is-integer.js ***! \***************************************************************/ /*! no static exports found */function(e,n,a){var t=a(/*! ./_export */"./node_modules/core-js/modules/_export.js");t(t.S,"Number",{isInteger:a(/*! ./_is-integer */"./node_modules/core-js/modules/_is-integer.js")})},"./node_modules/core-js/modules/es6.string.starts-with.js": +======= +/*! no static exports found */function(e,n,a){"use strict";var t=a(/*! ./_export */"./node_modules/core-js/modules/_export.js"),o=a(/*! ./_array-methods */"./node_modules/core-js/modules/_array-methods.js")(0),r=a(/*! ./_strict-method */"./node_modules/core-js/modules/_strict-method.js")([].forEach,!0);t(t.P+t.F*!r,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},"./node_modules/core-js/modules/es6.string.starts-with.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!****************************************************************!*\ !*** ./node_modules/core-js/modules/es6.string.starts-with.js ***! \****************************************************************/ @@ -592,7 +608,11 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!**************************!*\ !*** ./src/api/cells.js ***! \**************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_startEditingCell=function(e,n,a,o,r){var g=(0,t.gw_getGrid)(e).options;g.api.setFocusedCell(Number(n),a),g.api.startEditingCell({rowIndex:Number(n),colKey:a,keyPress:Number(o),charPress:r})},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 o=(0,t.gw_getGrid)(e).options,r=n?Number.isInteger(+n)?+n:o.api.getRowNode(n).rowIndex:0,g=a||o.columnApi.getAllGridColumns()[0].colId;(0,t.gw_getGrid)(e).options.api.setFocusedCell(r,g)};var t=a(/*! ./utilities */"./src/api/utilities.js")},"./src/api/columns.js": +======= +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_startEditingCell=function(e,n,a,o,r){var g=(0,t.gw_getGrid)(e).options;g.api.setFocusedCell(Number(n),a),g.api.startEditingCell({rowIndex:Number(n),colKey:a,keyPress:Number(o),charPress:r})},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()};var t=a(/*! ./utilities */"./src/api/utilities.js")},"./src/api/columns.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!****************************!*\ !*** ./src/api/columns.js ***! \****************************/ @@ -608,7 +628,11 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!*************************!*\ !*** ./src/api/init.js ***! \*************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_init=function(e,n,a){agGrid.LicenseManager&&n&&agGrid.LicenseManager.setLicenseKey(n);var c=e.context.id,h=(0,g.gw_getDocument)().getElementById(c),s=(0,g.gw_addGrid)(c,{container:h,options:e});h.innerHTML="";var A=function(e){var n=d(JSON.stringify(e)),a=n.context.id,c=n.context.getDataPath||"",h=function(e){for(var n=1;n>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!************************!*\ !*** ./src/api/jss.js ***! \************************/ @@ -644,7 +668,11 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!*********************************!*\ !*** ./src/events/constants.js ***! \*********************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GW_EVENT_GRID_STATE_CHANGE=n.GW_EVENT_ROW_EDITING_STOPPED=n.GW_EVENT_ROW_EDITING_STARTED=n.GW_EVENT_CELL_VALUE_CHANGED=n.GW_EVENT_CELL_EDITING_STOPPED=n.GW_EVENT_CELL_EDITING_STARTED=n.GW_EVENT_CELL_DOUBLE_CLICK=n.GW_EVENT_CELL_CLICK=n.GW_EVENT_ROW_DOUBLE_CLICK=n.GW_EVENT_ROW_CLICK=void 0;n.GW_EVENT_ROW_CLICK=69;n.GW_EVENT_ROW_DOUBLE_CLICK=52;n.GW_EVENT_CELL_CLICK=5001;n.GW_EVENT_CELL_DOUBLE_CLICK=5002;n.GW_EVENT_CELL_EDITING_STARTED=5003;n.GW_EVENT_CELL_EDITING_STOPPED=5004;n.GW_EVENT_CELL_VALUE_CHANGED=5005;n.GW_EVENT_ROW_EDITING_STARTED=5006;n.GW_EVENT_ROW_EDITING_STOPPED=5007;n.GW_EVENT_GRID_STATE_CHANGE=5008},"./src/events/editing.js": +======= +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GW_EVENT_RANGE_SELECTION_CHANGED=n.GW_EVENT_GRID_STATE_CHANGE=n.GW_EVENT_ROW_EDITING_STOPPED=n.GW_EVENT_ROW_EDITING_STARTED=n.GW_EVENT_CELL_VALUE_CHANGED=n.GW_EVENT_CELL_EDITING_STOPPED=n.GW_EVENT_CELL_EDITING_STARTED=n.GW_EVENT_CELL_DOUBLE_CLICK=n.GW_EVENT_CELL_CLICK=n.GW_EVENT_ROW_DOUBLE_CLICK=n.GW_EVENT_ROW_CLICK=void 0;n.GW_EVENT_ROW_CLICK=69;n.GW_EVENT_ROW_DOUBLE_CLICK=52;n.GW_EVENT_CELL_CLICK=5001;n.GW_EVENT_CELL_DOUBLE_CLICK=5002;n.GW_EVENT_CELL_EDITING_STARTED=5003;n.GW_EVENT_CELL_EDITING_STOPPED=5004;n.GW_EVENT_CELL_VALUE_CHANGED=5005;n.GW_EVENT_ROW_EDITING_STARTED=5006;n.GW_EVENT_ROW_EDITING_STOPPED=5007;n.GW_EVENT_GRID_STATE_CHANGE=5008;n.GW_EVENT_RANGE_SELECTION_CHANGED=5009},"./src/events/editing.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!*******************************!*\ !*** ./src/events/editing.js ***! \*******************************/ @@ -652,11 +680,19 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f /*!*****************************!*\ !*** ./src/events/index.js ***! \*****************************/ +<<<<<<< HEAD /*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"gw_onRowDoubleClicked",{enumerable:!0,get:function(){return t.gw_onRowDoubleClicked}}),Object.defineProperty(n,"gw_onSelectionChanged",{enumerable:!0,get:function(){return t.gw_onSelectionChanged}}),Object.defineProperty(n,"gw_onCellClickEvent",{enumerable:!0,get:function(){return t.gw_onCellClickEvent}}),Object.defineProperty(n,"gw_onCellEditingEvent",{enumerable:!0,get:function(){return o.gw_onCellEditingEvent}}),Object.defineProperty(n,"gw_onRowEditingEvent",{enumerable:!0,get:function(){return o.gw_onRowEditingEvent}}),Object.defineProperty(n,"gw_onReadyEvent",{enumerable:!0,get:function(){return r.gw_onReadyEvent}}),Object.defineProperty(n,"gw_debounce",{enumerable:!0,get:function(){return g.gw_debounce}});var t=a(/*! ./selections */"./src/events/selections.js"),o=a(/*! ./editing */"./src/events/editing.js"),r=a(/*! ./state */"./src/events/state.js"),g=a(/*! ./utilities */"./src/events/utilities.js")},"./src/events/selections.js": /*!**********************************!*\ !*** ./src/events/selections.js ***! \**********************************/ /*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_onRowDoubleClicked=function(e){var n=e.api.gridOptionsWrapper.gridOptions.context;(0,t.gw_sendEvent)(n,{type:"gw.rowDoubleClick",detail:""},r.GW_EVENT_ROW_DOUBLE_CLICK)},n.gw_onSelectionChanged=function(e){var n=e.api.gridOptionsWrapper.gridOptions.context;(0,t.gw_sendEvent)(n,{type:"gw.rowSelect",detail:""},r.GW_EVENT_ROW_CLICK)},n.gw_onCellClickEvent=function(e,n){var a=(0,t.gw_parseNodeFromEvent)(n);if(a){var r=n.type;(0,t.gw_sendEvent)((0,o.gw_getGrid)(e).options.context,{type:"gw.".concat(n.type),detail:JSON.stringify({row:a,value:(0,o.gw_escape)(n.value),oldValue:(0,o.gw_escape)(n.value),column:n.column.colId})},g[r])}};var t=a(/*! ./utilities */"./src/events/utilities.js"),o=a(/*! api/utilities */"./src/api/utilities.js"),r=a(/*! ./constants */"./src/events/constants.js"),g={cellClicked:r.GW_EVENT_CELL_CLICK,cellDoubleClicked:r.GW_EVENT_CELL_DOUBLE_CLICK}},"./src/events/state.js": +======= +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"gw_onRowDoubleClicked",{enumerable:!0,get:function(){return t.gw_onRowDoubleClicked}}),Object.defineProperty(n,"gw_onSelectionChanged",{enumerable:!0,get:function(){return t.gw_onSelectionChanged}}),Object.defineProperty(n,"gw_onCellClickEvent",{enumerable:!0,get:function(){return t.gw_onCellClickEvent}}),Object.defineProperty(n,"gw_onRangeSelectionChanged",{enumerable:!0,get:function(){return t.gw_onRangeSelectionChanged}}),Object.defineProperty(n,"gw_onCellEditingEvent",{enumerable:!0,get:function(){return o.gw_onCellEditingEvent}}),Object.defineProperty(n,"gw_onRowEditingEvent",{enumerable:!0,get:function(){return o.gw_onRowEditingEvent}}),Object.defineProperty(n,"gw_onReadyEvent",{enumerable:!0,get:function(){return r.gw_onReadyEvent}}),Object.defineProperty(n,"gw_debounce",{enumerable:!0,get:function(){return g.gw_debounce}});var t=a(/*! ./selections */"./src/events/selections.js"),o=a(/*! ./editing */"./src/events/editing.js"),r=a(/*! ./state */"./src/events/state.js"),g=a(/*! ./utilities */"./src/events/utilities.js")},"./src/events/selections.js": +/*!**********************************!*\ + !*** ./src/events/selections.js ***! + \**********************************/ +/*! no static exports found */function(e,n,a){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.gw_onRowDoubleClicked=function(e){var n=e.api.gridOptionsWrapper.gridOptions.context;(0,t.gw_sendEvent)(n,{type:"gw.rowDoubleClick",detail:""},r.GW_EVENT_ROW_DOUBLE_CLICK)},n.gw_onSelectionChanged=function(e){var n=e.api.gridOptionsWrapper.gridOptions.context;(0,t.gw_sendEvent)(n,{type:"gw.rowSelect",detail:""},r.GW_EVENT_ROW_CLICK)},n.gw_onRangeSelectionChanged=function(e){var n=e.api.gridOptionsWrapper.gridOptions.context;(0,t.gw_sendEvent)(n,{type:"gw.rangeSelection",detail:""},r.GW_EVENT_RANGE_SELECTION_CHANGED)},n.gw_onCellClickEvent=function(e,n){var a=(0,t.gw_parseNodeFromEvent)(n);if(a){var r=n.type;(0,t.gw_sendEvent)((0,o.gw_getGrid)(e).options.context,{type:"gw.".concat(n.type),detail:JSON.stringify({row:a,value:(0,o.gw_escape)(n.value),oldValue:(0,o.gw_escape)(n.value),column:n.column.colId})},g[r])}};var t=a(/*! ./utilities */"./src/events/utilities.js"),o=a(/*! api/utilities */"./src/api/utilities.js"),r=a(/*! ./constants */"./src/events/constants.js"),g={cellClicked:r.GW_EVENT_CELL_CLICK,cellDoubleClicked:r.GW_EVENT_CELL_DOUBLE_CLICK}},"./src/events/state.js": +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` /*!*****************************!*\ !*** ./src/events/state.js ***! \*****************************/ @@ -677,7 +713,14 @@ e.exports=function(){"use strict";var e=function(e){return("0"+e).slice(-2)},n=f !*** ./src/style/classes.css ***! \*******************************/ /*! no static exports found */function(e,n,a){var t=a(/*! !../../node_modules/postcss-loader/src!../../node_modules/postcss-loader/src!./classes.css */"./node_modules/postcss-loader/src/index.js!./node_modules/postcss-loader/src/index.js!./src/style/classes.css");"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:function(){return window.top.document.head}};a(/*! ../../node_modules/style-loader/lib/addStyles.js */"./node_modules/style-loader/lib/addStyles.js")(t,o);t.locals&&(e.exports=t.locals)},0: +<<<<<<< HEAD /*!*******************************************************************************************************************************************************!*\ !*** multi core-js/fn/string/starts-with.js core-js/fn/array/for-each.js core-js/fn/array/includes.js core-js/fn/number/is-integer.js ./src/index.js ***! \*******************************************************************************************************************************************************/ -/*! no static exports found */function(e,n,a){a(/*! core-js/fn/string/starts-with.js */"./node_modules/core-js/fn/string/starts-with.js"),a(/*! core-js/fn/array/for-each.js */"./node_modules/core-js/fn/array/for-each.js"),a(/*! core-js/fn/array/includes.js */"./node_modules/core-js/fn/array/includes.js"),a(/*! core-js/fn/number/is-integer.js */"./node_modules/core-js/fn/number/is-integer.js"),e.exports=a(/*! ./src/index.js */"./src/index.js")}})); \ No newline at end of file +/*! no static exports found */function(e,n,a){a(/*! core-js/fn/string/starts-with.js */"./node_modules/core-js/fn/string/starts-with.js"),a(/*! core-js/fn/array/for-each.js */"./node_modules/core-js/fn/array/for-each.js"),a(/*! core-js/fn/array/includes.js */"./node_modules/core-js/fn/array/includes.js"),a(/*! core-js/fn/number/is-integer.js */"./node_modules/core-js/fn/number/is-integer.js"),e.exports=a(/*! ./src/index.js */"./src/index.js")}})); +======= +/*!***********************************************************************************************************************!*\ + !*** multi core-js/fn/string/starts-with.js core-js/fn/array/for-each.js core-js/fn/array/includes.js ./src/index.js ***! + \***********************************************************************************************************************/ +/*! no static exports found */function(e,n,a){a(/*! core-js/fn/string/starts-with.js */"./node_modules/core-js/fn/string/starts-with.js"),a(/*! core-js/fn/array/for-each.js */"./node_modules/core-js/fn/array/for-each.js"),a(/*! core-js/fn/array/includes.js */"./node_modules/core-js/fn/array/includes.js"),e.exports=a(/*! ./src/index.js */"./src/index.js")}})); +>>>>>>> feat: add range selection event `ON_GRID_RANGE_SELECTION_CHANGED()` diff --git a/client/dist/report.html b/client/dist/report.html index 6bda831f..0326ffda 100644 --- a/client/dist/report.html +++ b/client/dist/report.html @@ -18,7 +18,11 @@
    diff --git a/client/src/api/init.js b/client/src/api/init.js index 4b5283b5..1b27e883 100644 --- a/client/src/api/init.js +++ b/client/src/api/init.js @@ -13,6 +13,7 @@ import { gw_getDocument, gw_addGrid} from "./utilities"; import { gw_onRowDoubleClicked, gw_onSelectionChanged, + gw_onRangeSelectionChanged, gw_onCellClickEvent, gw_onCellEditingEvent, gw_onRowEditingEvent, @@ -86,8 +87,9 @@ function gw_parseOptions(options) { getRowNodeId: data => gw_getRowNodeId(id, data) , getContextMenuItems: params => gw_getContextMenu(id, params) , "popupParent": gw_getDocument().body, - "onRowDoubleClicked": gw_debounce(gw_onRowDoubleClicked, debounceDuration), - "onSelectionChanged": gw_debounce(gw_onSelectionChanged, debounceDuration), + "onRowDoubleClicked": gw_debounce(gw_onRowDoubleClicked, debounceDuration) , + "onSelectionChanged": gw_debounce(gw_onSelectionChanged, debounceDuration) , + "onRangeSelectionChanged": gw_debounce(gw_onRangeSelectionChanged , debounceDuration) , "components": { "BasicBooleansRenderer" : Basis.AgGridComponents.BasicBooleansRenderer, "BasicBooleansEditor" : Basis.AgGridComponents.BasicBooleansEditor , diff --git a/client/src/events/constants.js b/client/src/events/constants.js index ee2dc116..7773d1b8 100644 --- a/client/src/events/constants.js +++ b/client/src/events/constants.js @@ -20,4 +20,7 @@ export const GW_EVENT_ROW_EDITING_STARTED = 5006; export const GW_EVENT_ROW_EDITING_STOPPED = 5007; // state constants -export const GW_EVENT_GRID_STATE_CHANGE = 5008; \ No newline at end of file +export const GW_EVENT_GRID_STATE_CHANGE = 5008; + +// range selection +export const GW_EVENT_RANGE_SELECTION_CHANGED = 5009; \ No newline at end of file diff --git a/client/src/events/index.js b/client/src/events/index.js index c6ffb723..8321e6d2 100644 --- a/client/src/events/index.js +++ b/client/src/events/index.js @@ -9,7 +9,8 @@ import { gw_onRowDoubleClicked, gw_onSelectionChanged, - gw_onCellClickEvent + gw_onCellClickEvent, + gw_onRangeSelectionChanged } from "./selections"; import { @@ -28,6 +29,7 @@ import { export { gw_onRowDoubleClicked, gw_onSelectionChanged, + gw_onRangeSelectionChanged, gw_onCellClickEvent, gw_onCellEditingEvent, gw_onRowEditingEvent, diff --git a/client/src/events/selections.js b/client/src/events/selections.js index 80e8e5c3..4e86f5a3 100644 --- a/client/src/events/selections.js +++ b/client/src/events/selections.js @@ -12,7 +12,8 @@ import { GW_EVENT_ROW_CLICK, GW_EVENT_ROW_DOUBLE_CLICK, GW_EVENT_CELL_CLICK, - GW_EVENT_CELL_DOUBLE_CLICK + GW_EVENT_CELL_DOUBLE_CLICK, + GW_EVENT_RANGE_SELECTION_CHANGED } from "./constants"; const CELL_CLICKING_EVENTS_MAP = { @@ -54,6 +55,22 @@ export function gw_onSelectionChanged(e) { }, GW_EVENT_ROW_CLICK); } +/** + * A handler for the grid `rangeSelectionChanged` event + * + * @param {Object} e + * + * @listens agGrid.rangeSelectionChanged + * @fires gw.rangeSelection + */ +export function gw_onRangeSelectionChanged(e) { + const context = e.api.gridOptionsWrapper.gridOptions.context; + gw_sendEvent(context, { + 'type': 'gw.rangeSelection', + 'detail': '' + }, GW_EVENT_RANGE_SELECTION_CHANGED); +} + /** * A handler for the grid `cellClickEvent` & `cellDoubleClicked` event *