(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["bootstrap_env"],{ /***/ "./assets/js/bootstrap_env.js": /*!************************************!*\ !*** ./assets/js/bootstrap_env.js ***! \************************************/ /*! no exports provided */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @googlemaps/js-api-loader */ "./node_modules/@googlemaps/js-api-loader/dist/index.esm.js"); /* harmony import */ var _include_js_bootstrap_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../include/js/bootstrap/utils */ "./include/js/bootstrap/utils.js"); /* harmony import */ var _components_datatables__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/datatables */ "./assets/js/components/datatables.js"); /* harmony import */ var _js_components_handsontables__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../js/components/handsontables */ "./assets/js/components/handsontables.js"); /* harmony import */ var handsontable_dist_handsontable_full_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! handsontable/dist/handsontable.full.css */ "./node_modules/handsontable/dist/handsontable.full.css"); /* harmony import */ var handsontable_dist_handsontable_full_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(handsontable_dist_handsontable_full_css__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _components_googlemaps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/googlemaps */ "./assets/js/components/googlemaps.js"); /** * Created by PhpStorm * User: daniele * Date: 02/03/20 * Time: 11:29 */ __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js"); __webpack_require__(/*! bootstrap/dist/css/bootstrap.min.css */ "./node_modules/bootstrap/dist/css/bootstrap.min.css"); __webpack_require__(/*! ../../css/bootstrap/styles.css */ "./css/bootstrap/styles.css"); __webpack_require__(/*! ../../css/bootstrap/iride_elements.css */ "./css/bootstrap/iride_elements.css"); __webpack_require__(/*! jquery-ui-themes/themes/redmond/jquery-ui.min.css */ "./node_modules/jquery-ui-themes/themes/redmond/jquery-ui.min.css"); __webpack_require__(/*! ../../css/jquery.ui.theme.css */ "./css/jquery.ui.theme.css"); __webpack_require__(/*! ../../vendor/bower_js/jquery-timeentry/jquery.timeentry.css */ "./vendor/bower_js/jquery-timeentry/jquery.timeentry.css"); __webpack_require__(/*! ../../vendor/bower_js/jquery-ui-multiselect-widget-iride/jquery.multiselect.css */ "./vendor/bower_js/jquery-ui-multiselect-widget-iride/jquery.multiselect.css"); __webpack_require__(/*! jquery.growl/stylesheets/jquery.growl.css */ "./node_modules/jquery.growl/stylesheets/jquery.growl.css"); __webpack_require__(/*! jquery.lighter/stylesheets/jquery.lighter.css */ "./node_modules/jquery.lighter/stylesheets/jquery.lighter.css"); __webpack_require__(/*! bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css */ "./node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css"); __webpack_require__(/*! datatables.net-bs4/css/dataTables.bootstrap4.min.css */ "./node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css"); __webpack_require__(/*! datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css */ "./node_modules/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css"); __webpack_require__(/*! @fortawesome/fontawesome-free/css/fontawesome.min.css */ "./node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css"); __webpack_require__(/*! sidr/dist/stylesheets/jquery.sidr.light.min.css */ "./node_modules/sidr/dist/stylesheets/jquery.sidr.light.min.css"); __webpack_require__(/*! qtip2/dist/jquery.qtip.css */ "./node_modules/qtip2/dist/jquery.qtip.css"); __webpack_require__(/*! ../../css/jquery.qtip.css */ "./css/jquery.qtip.css"); __webpack_require__(/*! ../../vendor/bower_js/jquery-uploadfile/css/uploadfile.css */ "./vendor/bower_js/jquery-uploadfile/css/uploadfile.css"); __webpack_require__(/*! unitegallery/dist/css/unite-gallery.css */ "./node_modules/unitegallery/dist/css/unite-gallery.css"); __webpack_require__(/*! ../../css/bootstrap/datatables.css */ "./css/bootstrap/datatables.css"); __webpack_require__(/*! select2/dist/css/select2.min.css */ "./node_modules/select2/dist/css/select2.min.css"); __webpack_require__(/*! ../../css/bootstrap/iride_layout.css */ "./css/bootstrap/iride_layout.css"); __webpack_require__(/*! ../../css/bootstrap/iride_navbar.css */ "./css/bootstrap/iride_navbar.css"); global.moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js"); var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); global.$ = global.jQuery = $; __webpack_require__(/*! jquery-ui/ui/widgets/autocomplete */ "./node_modules/jquery-ui/ui/widgets/autocomplete.js"); global._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); __webpack_require__(/*! datatables.net/js/jquery.dataTables.min */ "./node_modules/datatables.net/js/jquery.dataTables.min.js"); __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); __webpack_require__(/*! datatables.net-bs4/js/dataTables.bootstrap4.min */ "./node_modules/datatables.net-bs4/js/dataTables.bootstrap4.min.js"); __webpack_require__(/*! datatables.net-buttons/js/dataTables.buttons.min */ "./node_modules/datatables.net-buttons/js/dataTables.buttons.min.js"); __webpack_require__(/*! datatables.net-buttons-bs4/js/buttons.bootstrap4.min */ "./node_modules/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"); __webpack_require__(/*! datatables.net-responsive/js/dataTables.responsive.min */ "./node_modules/datatables.net-responsive/js/dataTables.responsive.min.js"); __webpack_require__(/*! @fortawesome/fontawesome-free/js/all.min */ "./node_modules/@fortawesome/fontawesome-free/js/all.min.js"); __webpack_require__(/*! bootstrap-datepicker/dist/js/bootstrap-datepicker */ "./node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js"); __webpack_require__(/*! bootstrap-datepicker/dist/locales/bootstrap-datepicker.it.min */ "./node_modules/bootstrap-datepicker/dist/locales/bootstrap-datepicker.it.min.js"); __webpack_require__(/*! ../../vendor/bower_js/jquery-uploadfile/js/jquery.uploadfile.min */ "./vendor/bower_js/jquery-uploadfile/js/jquery.uploadfile.min.js"); __webpack_require__(/*! ../../vendor/bower_js/jquery-timeentry/jquery.plugin.min */ "./vendor/bower_js/jquery-timeentry/jquery.plugin.min.js"); __webpack_require__(/*! ../../vendor/bower_js/jquery-timeentry/jquery.timeentry.min */ "./vendor/bower_js/jquery-timeentry/jquery.timeentry.min.js"); __webpack_require__(/*! jquery.growl */ "./node_modules/jquery.growl/javascripts/jquery.growl.js"); __webpack_require__(/*! jquery-zoom */ "./node_modules/jquery-zoom/jquery.zoom.js"); __webpack_require__(/*! jquery.lighter */ "./node_modules/jquery.lighter/javascripts/jquery.lighter.js"); window.CKEDITOR_BASEPATH = '/node_modules/ckeditor/'; __webpack_require__(/*! ckeditor */ "./node_modules/ckeditor/ckeditor.js"); __webpack_require__(/*! ckeditor/adapters/jquery */ "./node_modules/ckeditor/adapters/jquery.js"); __webpack_require__(/*! ../../include/js/front */ "./include/js/front.js"); __webpack_require__(/*! sidr/dist/jquery.sidr.min */ "./node_modules/sidr/dist/jquery.sidr.min.js"); __webpack_require__(/*! qtip2 */ "./node_modules/qtip2/dist/jquery.qtip.js"); __webpack_require__(/*! select2 */ "./node_modules/select2/dist/js/select2.js"); global.iride_func = __webpack_require__(/*! ../../include/js/utils */ "./include/js/utils.js"); global.iride_date_utils = __webpack_require__(/*! ../../include/js/date */ "./include/js/date.js"); global.iride_bootstrap_utils = _include_js_bootstrap_utils__WEBPACK_IMPORTED_MODULE_2__["default"]; $.each(iride_func, function (key, value) { global[key] = value; }); $.each(iride_bootstrap_utils, function (key, value) { global[key] = value; }); $.each(iride_date_utils, function (key, value) { global[key] = value; }); $.fn.dialog = function (func) { if (func === "close") func = "hide"; var id = $(this).attr("id") + "Modal"; return $("#" + id).modal(func); }; __webpack_require__(/*! ../../include/js/pack/0050.autocomplete-events */ "./include/js/pack/0050.autocomplete-events.js"); __webpack_require__(/*! ../../include/js/pack/0150.jquery.tabledisplay-0.2 */ "./include/js/pack/0150.jquery.tabledisplay-0.2.js"); __webpack_require__(/*! ../../include/js/pack/0170.jquery.simplecurrency */ "./include/js/pack/0170.jquery.simplecurrency.js"); __webpack_require__(/*! ../../include/js/pack/0180.jquery.selectboxes */ "./include/js/pack/0180.jquery.selectboxes.js"); __webpack_require__(/*! ../../include/js/pack/0290.iridegallery */ "./include/js/pack/0290.iridegallery.js"); __webpack_require__(/*! ../../vendor/bower_js/jquery-ui-multiselect-widget-iride/src/jquery.multiselect */ "./vendor/bower_js/jquery-ui-multiselect-widget-iride/src/jquery.multiselect.js"); //import Login from "./components/login"; $(document).ready(function () { iride_date_utils.bsDatePickerInit(); $(".IWDataTables").each(function () { _components_datatables__WEBPACK_IMPORTED_MODULE_3__["default"].buildDatatables(this); }); //if($("#check_recupero_password").valFloat() === 1) Login.checkEmailRecuperoPwd(); $(".IWHandsOnTables").each(function () { try { _js_components_handsontables__WEBPACK_IMPORTED_MODULE_4__["default"].buildTable(this); } catch (e) { console.log("Errore caricamento Handsontables: " + $(this).attr("id")); console.log(e); } }); var first_divmap = $(".googlemapElement")[0]; var google_apikey = $(first_divmap).data("apikey"); if (google_apikey != undefined) { var loader = new _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_1__["Loader"]({ apiKey: google_apikey, version: "weekly" }); loader.load().then(function () { $(".googlemapElement").each(function () { try { _components_googlemaps__WEBPACK_IMPORTED_MODULE_6__["default"].buildGoogleMaps(this); } catch (e) { console.log("Errore caricamento Google Maps: " + $(this).attr("id")); console.log(e); } }); }); } //menu javascript $('.dropdown-menu a.dropdown-toggle').on('click', function (e) { var $el = $(this); var $parent = $(this).offsetParent(".dropdown-menu"); if (!$(this).next().hasClass('show')) { $(this).parents('.dropdown-menu').first().find('.show').removeClass("show"); } var $subMenu = $(this).next(".dropdown-menu"); $subMenu.toggleClass('show'); $(this).parent("li").toggleClass('show'); $(this).parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) { $('.dropdown-menu .show').removeClass("show"); }); if (!$parent.parent().hasClass('navbar-nav')) { $el.next().css({ "top": $el[0].offsetTop, "left": $parent.outerWidth() - 4 }); } return false; }); }); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) /***/ }), /***/ "./css/bootstrap/datatables.css": /*!**************************************!*\ !*** ./css/bootstrap/datatables.css ***! \**************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/iride_elements.css": /*!******************************************!*\ !*** ./css/bootstrap/iride_elements.css ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/iride_layout.css": /*!****************************************!*\ !*** ./css/bootstrap/iride_layout.css ***! \****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/iride_navbar.css": /*!****************************************!*\ !*** ./css/bootstrap/iride_navbar.css ***! \****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/styles.css": /*!**********************************!*\ !*** ./css/bootstrap/styles.css ***! \**********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./include/js/bootstrap/utils.js": /*!***************************************!*\ !*** ./include/js/bootstrap/utils.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js"); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _assets_js_components_datatables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../assets/js/components/datatables */ "./assets/js/components/datatables.js"); /* harmony import */ var _assets_js_components_googlemaps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../assets/js/components/googlemaps */ "./assets/js/components/googlemaps.js"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @googlemaps/js-api-loader */ "./node_modules/@googlemaps/js-api-loader/dist/index.esm.js"); /** * Created by PhpStorm * User: daniele * Date: 15/05/20 * Time: 14.33 */ /* harmony default export */ __webpack_exports__["default"] = ({ dialogShow: function dialogShow(divid, callback, onOpenCallback) { var div = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal"); jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal .IWDataTables").each(function () { _assets_js_components_datatables__WEBPACK_IMPORTED_MODULE_1__["default"].buildDatatables(this); }); var first_divmap = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal .googlemapElement")[0]; var google_apikey = jquery__WEBPACK_IMPORTED_MODULE_3___default()(first_divmap).data("apikey"); if (google_apikey) { var loader = new _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_4__["Loader"]({ apiKey: google_apikey, version: "weekly", libraries: "places" }); loader.load().then(function () { jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal .googlemapElement").each(function () { try { _assets_js_components_googlemaps__WEBPACK_IMPORTED_MODULE_2__["default"].buildGoogleMaps(this); } catch (e) { console.log("Errore caricamento Google Maps: " + jquery__WEBPACK_IMPORTED_MODULE_3___default()(this).attr("id")); console.log(e); } }); }); } div.modal("show"); if (typeof onOpenCallback === "function") { div.on('show.bs.modal', function (e) { onOpenCallback(e); }); } if (typeof callback !== "function") return; var btns = jquery__WEBPACK_IMPORTED_MODULE_3___default()("." + divid + "modalButtons"); btns.off(); btns.on("click", function () { var value = jquery__WEBPACK_IMPORTED_MODULE_3___default()(this).attr("data-value"); if (value === "true") value = true; if (value === "false") value = false; callback(value); }); }, jumpToTab: function jumpToTab(index) { jquery__WEBPACK_IMPORTED_MODULE_3___default()("#iwobjectTabstab-" + index).tab("show"); setTimeout(function () { jquery__WEBPACK_IMPORTED_MODULE_3___default()(jquery__WEBPACK_IMPORTED_MODULE_3___default.a.fn.dataTable.tables(true)).DataTable().columns.adjust(); }, 300); }, resizeContent: function resizeContent() { jquery__WEBPACK_IMPORTED_MODULE_3___default.a.ajax({ url: "ajax.php?JSON", type: "post", dataType: "json", data: { object: "Setup", tipoview: "resizeContent", screenwidth: window.innerWidth, screenheight: window.innerHeight } }); } }); /***/ }), /***/ "./include/js/front.js": /*!*****************************!*\ !*** ./include/js/front.js ***! \*****************************/ /*! no static exports found */ /***/ (function(module, exports) { /*! * Start Bootstrap - SB Admin v6.0.0 (https://startbootstrap.com/templates/sb-admin) * Copyright 2013-2020 Start Bootstrap * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-sb-admin/blob/master/LICENSE) */ $(document).ready(function () { "use strict"; // Add active state to sidbar nav links var path = window.location.href; // because the 'href' property of the DOM element is the absolute path $("#layoutSidenav_nav .sb-sidenav a.nav-link").each(function () { if (this.href === path) { $(this).addClass("active"); } }); // Toggle the side navigation $("#sidebarToggle").on("click", function (e) { e.preventDefault(); $("body").toggleClass("sb-sidenav-toggled"); }); }); /***/ }) },[["./assets/js/bootstrap_env.js","runtime","vendors~bootstrap_env~dettagli-fe~documenti~fullcalendar~jquery-ui_env~login","vendors~bootstrap_env~dettagli-fe~documenti~jquery-ui_env~login","vendors~bootstrap_env~documenti~fullcalendar~jquery-ui_env","vendors~bootstrap_env~dettagli-fe~documenti~jquery-ui_env","vendors~bootstrap_env~documenti~jquery-ui_env","vendors~bootstrap_env~jquery-ui_env","vendors~bootstrap_env","bootstrap_env~dettagli-fe~documenti~jquery-ui_env","bootstrap_env~documenti~jquery-ui_env","bootstrap_env~jquery-ui_env"]]]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvYm9vdHN0cmFwX2Vudi5qcyIsIndlYnBhY2s6Ly8vLi9jc3MvYm9vdHN0cmFwL2RhdGF0YWJsZXMuY3NzIiwid2VicGFjazovLy8uL2Nzcy9ib290c3RyYXAvaXJpZGVfZWxlbWVudHMuY3NzIiwid2VicGFjazovLy8uL2Nzcy9ib290c3RyYXAvaXJpZGVfbGF5b3V0LmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvYm9vdHN0cmFwL2lyaWRlX25hdmJhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vY3NzL2Jvb3RzdHJhcC9zdHlsZXMuY3NzIiwid2VicGFjazovLy8uL2luY2x1ZGUvanMvYm9vdHN0cmFwL3V0aWxzLmpzIiwid2VicGFjazovLy8uL2luY2x1ZGUvanMvZnJvbnQuanMiXSwibmFtZXMiOlsicmVxdWlyZSIsImdsb2JhbCIsIm1vbWVudCIsIiQiLCJqUXVlcnkiLCJfIiwid2luZG93IiwiQ0tFRElUT1JfQkFTRVBBVEgiLCJpcmlkZV9mdW5jIiwiaXJpZGVfZGF0ZV91dGlscyIsImlyaWRlX2Jvb3RzdHJhcF91dGlscyIsImJvb3RzdHJhcF91dGlscyIsImVhY2giLCJrZXkiLCJ2YWx1ZSIsImZuIiwiZGlhbG9nIiwiZnVuYyIsImlkIiwiYXR0ciIsIm1vZGFsIiwiZG9jdW1lbnQiLCJyZWFkeSIsImJzRGF0ZVBpY2tlckluaXQiLCJJV0RhdGF0YWJsZSIsImJ1aWxkRGF0YXRhYmxlcyIsIklXSGFuZHNvblRhYmxlcyIsImJ1aWxkVGFibGUiLCJlIiwiY29uc29sZSIsImxvZyIsImZpcnN0X2Rpdm1hcCIsImdvb2dsZV9hcGlrZXkiLCJkYXRhIiwidW5kZWZpbmVkIiwibG9hZGVyIiwiTG9hZGVyIiwiYXBpS2V5IiwidmVyc2lvbiIsImxvYWQiLCJ0aGVuIiwiSVdHb29nbGVNYXBzIiwiYnVpbGRHb29nbGVNYXBzIiwib24iLCIkZWwiLCIkcGFyZW50Iiwib2Zmc2V0UGFyZW50IiwibmV4dCIsImhhc0NsYXNzIiwicGFyZW50cyIsImZpcnN0IiwiZmluZCIsInJlbW92ZUNsYXNzIiwiJHN1Yk1lbnUiLCJ0b2dnbGVDbGFzcyIsInBhcmVudCIsImNzcyIsIm9mZnNldFRvcCIsIm91dGVyV2lkdGgiLCJkaWFsb2dTaG93IiwiZGl2aWQiLCJjYWxsYmFjayIsIm9uT3BlbkNhbGxiYWNrIiwiZGl2IiwibGlicmFyaWVzIiwiYnRucyIsIm9mZiIsImp1bXBUb1RhYiIsImluZGV4IiwidGFiIiwic2V0VGltZW91dCIsImRhdGFUYWJsZSIsInRhYmxlcyIsIkRhdGFUYWJsZSIsImNvbHVtbnMiLCJhZGp1c3QiLCJyZXNpemVDb250ZW50IiwiYWpheCIsInVybCIsInR5cGUiLCJkYXRhVHlwZSIsIm9iamVjdCIsInRpcG92aWV3Iiwic2NyZWVud2lkdGgiLCJpbm5lcldpZHRoIiwic2NyZWVuaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJwYXRoIiwibG9jYXRpb24iLCJocmVmIiwiYWRkQ2xhc3MiLCJwcmV2ZW50RGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBQSxtQkFBTyxDQUFDLDhEQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsaUdBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQyxrRUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLGtGQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsMkhBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQyxnRUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLDRIQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsb0tBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQywyR0FBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLG1IQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsMkpBQUQsQ0FBUDs7QUFFQUEsbUJBQU8sQ0FBQyxpSUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLDJJQUFELENBQVA7O0FB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QTZFQyxvQkFBWSxFQUFFL0UsTUFBTSxDQUFDZ0Y7QUFBbEc7QUFKSCxLQUFQO0FBTUg7QUE3RFUsQ0FBZixFOzs7Ozs7Ozs7OztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQW5GLENBQUMsQ0FBQ2tCLFFBQUQsQ0FBRCxDQUFZQyxLQUFaLENBQWtCLFlBQVc7QUFDekIsZUFEeUIsQ0FHekI7O0FBQ0EsTUFBSWlFLElBQUksR0FBR2pGLE1BQU0sQ0FBQ2tGLFFBQVAsQ0FBZ0JDLElBQTNCLENBSnlCLENBSVE7O0FBQ2pDdEYsR0FBQyxDQUFDLDJDQUFELENBQUQsQ0FBK0NTLElBQS9DLENBQW9ELFlBQVc7QUFDM0QsUUFBSSxLQUFLNkUsSUFBTCxLQUFjRixJQUFsQixFQUF3QjtBQUNwQnBGLE9BQUMsQ0FBQyxJQUFELENBQUQsQ0FBUXVGLFFBQVIsQ0FBaUIsUUFBakI7QUFDSDtBQUNKLEdBSkQsRUFMeUIsQ0FXekI7O0FBQ0F2RixHQUFDLENBQUMsZ0JBQUQsQ0FBRCxDQUFvQndDLEVBQXBCLENBQXVCLE9BQXZCLEVBQWdDLFVBQVNmLENBQVQsRUFBWTtBQUN4Q0EsS0FBQyxDQUFDK0QsY0FBRjtBQUNBeEYsS0FBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVbUQsV0FBVixDQUFzQixvQkFBdEI7QUFDSCxHQUhEO0FBSUgsQ0FoQkQsRSIsImZpbGUiOiJib290c3RyYXBfZW52LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IFBocFN0b3JtXG4gKiBVc2VyOiBkYW5pZWxlXG4gKiBEYXRlOiAwMi8wMy8yMFxuICogVGltZTogMTE6MjlcbiAqL1xuXG5pbXBvcnQge0xvYWRlcn0gZnJvbSBcIkBnb29nbGVtYXBzL2pzLWFwaS1sb2FkZXJcIjtcblxucmVxdWlyZShcInBvcHBlci5qc1wiKTtcbnJlcXVpcmUoXCJib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3NcIik7XG5yZXF1aXJlKCcuLi8uLi9jc3MvYm9vdHN0cmFwL3N0eWxlcy5jc3MnKTtcbnJlcXVpcmUoXCIuLi8uLi9jc3MvYm9vdHN0cmFwL2lyaWRlX2VsZW1lbnRzLmNzc1wiKTtcbnJlcXVpcmUoXCJqcXVlcnktdWktdGhlbWVzL3RoZW1lcy9yZWRtb25kL2pxdWVyeS11aS5taW4uY3NzXCIpO1xucmVxdWlyZShcIi4uLy4uL2Nzcy9qcXVlcnkudWkudGhlbWUuY3NzXCIpO1xucmVxdWlyZShcIi4uLy4uL3ZlbmRvci9ib3dlcl9qcy9qcXVlcnktdGltZWVudHJ5L2pxdWVyeS50aW1lZW50cnkuY3NzXCIpO1xucmVxdWlyZShcIi4uLy4uL3ZlbmRvci9ib3dlcl9qcy9qcXVlcnktdWktbXVsdGlzZWxlY3Qtd2lkZ2V0LWlyaWRlL2pxdWVyeS5tdWx0aXNlbGVjdC5jc3NcIik7XG5yZXF1aXJlKFwianF1ZXJ5Lmdyb3dsL3N0eWxlc2hlZXRzL2pxdWVyeS5ncm93bC5jc3NcIik7XG5yZXF1aXJlKFwianF1ZXJ5LmxpZ2h0ZXIvc3R5bGVzaGVldHMvanF1ZXJ5LmxpZ2h0ZXIuY3NzXCIpO1xucmVxdWlyZShcImJvb3RzdHJhcC1kYXRlcGlja2VyL2Rpc3QvY3NzL2Jvb3RzdHJhcC1kYXRlcGlja2VyLnN0YW5kYWxvbmUuY3NzXCIpO1xuXG5yZXF1aXJlKFwiZGF0YXRhYmxlcy5uZXQtYnM0L2Nzcy9kYXRhVGFibGVzLmJvb3RzdHJhcDQubWluLmNzc1wiKTtcbnJlcXVpcmUoXCJkYXRhdGFibGVzLm5ldC1idXR0b25zLWJzNC9jc3MvYnV0dG9ucy5ib290c3RyYXA0Lm1pbi5jc3NcIik7XG5yZXF1aXJlKCdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9jc3MvZm9udGF3ZXNvbWUubWluLmNzcycpO1xucmVxdWlyZShcInNpZHIvZGlzdC9zdHlsZXNoZWV0cy9qcXVlcnkuc2lkci5saWdodC5taW4uY3NzXCIpO1xucmVxdWlyZShcInF0aXAyL2Rpc3QvanF1ZXJ5LnF0aXAuY3NzXCIpO1xucmVxdWlyZShcIi4uLy4uL2Nzcy9qcXVlcnkucXRpcC5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vdmVuZG9yL2Jvd2VyX2pzL2pxdWVyeS11cGxvYWRmaWxlL2Nzcy91cGxvYWRmaWxlLmNzc1wiKTtcbnJlcXVpcmUoXCJ1bml0ZWdhbGxlcnkvZGlzdC9jc3MvdW5pdGUtZ2FsbGVyeS5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vY3NzL2Jvb3RzdHJhcC9kYXRhdGFibGVzLmNzc1wiKTtcbnJlcXVpcmUoXCJzZWxlY3QyL2Rpc3QvY3NzL3NlbGVjdDIubWluLmNzc1wiKTtcbnJlcXVpcmUoXCIuLi8uLi9jc3MvYm9vdHN0cmFwL2lyaWRlX2xheW91dC5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vY3NzL2Jvb3RzdHJhcC9pcmlkZV9uYXZiYXIuY3NzXCIpO1xuXG5nbG9iYWwubW9tZW50ID0gcmVxdWlyZShcIm1vbWVudFwiKTtcbmNvbnN0ICQgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuZ2xvYmFsLiQgPSBnbG9iYWwualF1ZXJ5ID0gJDtcbnJlcXVpcmUoXCJqcXVlcnktdWkvdWkvd2lkZ2V0cy9hdXRvY29tcGxldGVcIik7XG5nbG9iYWwuXyA9IHJlcXVpcmUoXCJsb2Rhc2hcIik7XG5cblxucmVxdWlyZShcImRhdGF0YWJsZXMubmV0L2pzL2pxdWVyeS5kYXRhVGFibGVzLm1pblwiKTtcbnJlcXVpcmUoXCJib290c3RyYXBcIik7XG5yZXF1aXJlKFwiZGF0YXRhYmxlcy5uZXQtYnM0L2pzL2RhdGFUYWJsZXMuYm9vdHN0cmFwNC5taW5cIik7XG5yZXF1aXJlKFwiZGF0YXRhYmxlcy5uZXQtYnV0dG9ucy9qcy9kYXRhVGFibGVzLmJ1dHRvbnMubWluXCIpO1xucmVxdWlyZShcImRhdGF0YWJsZXMubmV0LWJ1dHRvbnMtYnM0L2pzL2J1dHRvbnMuYm9vdHN0cmFwNC5taW5cIik7XG5yZXF1aXJlKFwiZGF0YXRhYmxlcy5uZXQtcmVzcG9uc2l2ZS9qcy9kYXRhVGFibGVzLnJlc3BvbnNpdmUubWluXCIpO1xuXG5yZXF1aXJlKFwiQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvanMvYWxsLm1pblwiKTtcbnJlcXVpcmUoXCJib290c3RyYXAtZGF0ZXBpY2tlci9kaXN0L2pzL2Jvb3RzdHJhcC1kYXRlcGlja2VyXCIpO1xucmVxdWlyZShcImJvb3RzdHJhcC1kYXRlcGlja2VyL2Rpc3QvbG9jYWxlcy9ib290c3RyYXAtZGF0ZXBpY2tlci5pdC5taW5cIik7XG5cbnJlcXVpcmUoXCIuLi8uLi92ZW5kb3IvYm93ZXJfanMvanF1ZXJ5LXVwbG9hZGZpbGUvanMvanF1ZXJ5LnVwbG9hZGZpbGUubWluXCIpO1xucmVxdWlyZShcIi4uLy4uL3ZlbmRvci9ib3dlcl9qcy9qcXVlcnktdGltZWVudHJ5L2pxdWVyeS5wbHVnaW4ubWluXCIpO1xucmVxdWlyZShcIi4uLy4uL3ZlbmRvci9ib3dlcl9qcy9qcXVlcnktdGltZWVudHJ5L2pxdWVyeS50aW1lZW50cnkubWluXCIpO1xucmVxdWlyZShcImpxdWVyeS5ncm93bFwiKTtcbnJlcXVpcmUoXCJqcXVlcnktem9vbVwiKTtcbnJlcXVpcmUoXCJqcXVlcnkubGlnaHRlclwiKTtcbndpbmRvdy5DS0VESVRPUl9CQVNFUEFUSCA9ICcvbm9kZV9tb2R1bGVzL2NrZWRpdG9yLyc7XG5yZXF1aXJlKFwiY2tlZGl0b3JcIik7XG5yZXF1aXJlKFwiY2tlZGl0b3IvYWRhcHRlcnMvanF1ZXJ5XCIpO1xucmVxdWlyZShcIi4uLy4uL2luY2x1ZGUvanMvZnJvbnRcIik7XG5yZXF1aXJlKFwic2lkci9kaXN0L2pxdWVyeS5zaWRyLm1pblwiKTtcbnJlcXVpcmUoXCJxdGlwMlwiKTtcbnJlcXVpcmUoXCJzZWxlY3QyXCIpO1xuZ2xvYmFsLmlyaWRlX2Z1bmMgPSByZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy91dGlsc1wiKTtcbmdsb2JhbC5pcmlkZV9kYXRlX3V0aWxzID0gcmVxdWlyZShcIi4uLy4uL2luY2x1ZGUvanMvZGF0ZVwiKTtcbmltcG9ydCBib290c3RyYXBfdXRpbHMgZnJvbSBcIi4uLy4uL2luY2x1ZGUvanMvYm9vdHN0cmFwL3V0aWxzXCI7XG5nbG9iYWwuaXJpZGVfYm9vdHN0cmFwX3V0aWxzID0gYm9vdHN0cmFwX3V0aWxzO1xuJC5lYWNoKGlyaWRlX2Z1bmMsIGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgZ2xvYmFsW2tleV0gPSB2YWx1ZTtcbn0pO1xuJC5lYWNoKGlyaWRlX2Jvb3RzdHJhcF91dGlscywgZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICBnbG9iYWxba2V5XSA9IHZhbHVlO1xufSk7XG4kLmVhY2goaXJpZGVfZGF0ZV91dGlscywgZnVuY3Rpb24oa2V5LCB2YWx1ZSl7XG4gICAgZ2xvYmFsW2tleV0gPSB2YWx1ZTtcbn0pO1xuXG4kLmZuLmRpYWxvZyA9IGZ1bmN0aW9uKGZ1bmMpIHtcbiAgICBpZihmdW5jID09PSBcImNsb3NlXCIpIGZ1bmMgPSBcImhpZGVcIjtcbiAgICBsZXQgaWQgPSAkKHRoaXMpLmF0dHIoXCJpZFwiKSArIFwiTW9kYWxcIjtcbiAgICByZXR1cm4gJChcIiNcIiArIGlkKS5tb2RhbChmdW5jKVxufTtcblxucmVxdWlyZShcIi4uLy4uL2luY2x1ZGUvanMvcGFjay8wMDUwLmF1dG9jb21wbGV0ZS1ldmVudHNcIik7XG5yZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy9wYWNrLzAxNTAuanF1ZXJ5LnRhYmxlZGlzcGxheS0wLjJcIik7XG5yZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy9wYWNrLzAxNzAuanF1ZXJ5LnNpbXBsZWN1cnJlbmN5XCIpO1xucmVxdWlyZShcIi4uLy4uL2luY2x1ZGUvanMvcGFjay8wMTgwLmpxdWVyeS5zZWxlY3Rib3hlc1wiKTtcbnJlcXVpcmUoXCIuLi8uLi9pbmNsdWRlL2pzL3BhY2svMDI5MC5pcmlkZWdhbGxlcnlcIik7XG5yZXF1aXJlKFwiLi4vLi4vdmVuZG9yL2Jvd2VyX2pzL2pxdWVyeS11aS1tdWx0aXNlbGVjdC13aWRnZXQtaXJpZGUvc3JjL2pxdWVyeS5tdWx0aXNlbGVjdFwiKTtcblxuLy9pbXBvcnQgTG9naW4gZnJvbSBcIi4vY29tcG9uZW50cy9sb2dpblwiO1xuaW1wb3J0IElXRGF0YXRhYmxlIGZyb20gXCIuL2NvbXBvbmVudHMvZGF0YXRhYmxlc1wiO1xuaW1wb3J0IElXSGFuZHNvblRhYmxlcyBmcm9tIFwiLi4vanMvY29tcG9uZW50cy9oYW5kc29udGFibGVzXCI7XG5pbXBvcnQgJ2hhbmRzb250YWJsZS9kaXN0L2hhbmRzb250YWJsZS5mdWxsLmNzcyc7XG5pbXBvcnQgSVdHb29nbGVNYXBzIGZyb20gXCIuL2NvbXBvbmVudHMvZ29vZ2xlbWFwc1wiO1xuXG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKXtcbiAgICBpcmlkZV9kYXRlX3V0aWxzLmJzRGF0ZVBpY2tlckluaXQoKTtcblxuICAgICQoXCIuSVdEYXRhVGFibGVzXCIpLmVhY2goZnVuY3Rpb24gKCl7XG4gICAgICAgIElXRGF0YXRhYmxlLmJ1aWxkRGF0YXRhYmxlcyh0aGlzKTtcbiAgICB9KVxuICAgIC8vaWYoJChcIiNjaGVja19yZWN1cGVyb19wYXNzd29yZFwiKS52YWxGbG9hdCgpID09PSAxKSBMb2dpbi5jaGVja0VtYWlsUmVjdXBlcm9Qd2QoKTtcbiAgICAkKFwiLklXSGFuZHNPblRhYmxlc1wiKS5lYWNoKGZ1bmN0aW9uICgpe1xuICAgICAgICB0cnl7XG4gICAgICAgICAgICBJV0hhbmRzb25UYWJsZXMuYnVpbGRUYWJsZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSl7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yZSBjYXJpY2FtZW50byBIYW5kc29udGFibGVzOiBcIiArICQodGhpcykuYXR0cihcImlkXCIpKVxuICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgIH1cbiAgICB9KVxuXG4gICAgbGV0IGZpcnN0X2Rpdm1hcD0kKFwiLmdvb2dsZW1hcEVsZW1lbnRcIilbMF07XG4gICAgbGV0IGdvb2dsZV9hcGlrZXk9JChmaXJzdF9kaXZtYXApLmRhdGEoXCJhcGlrZXlcIik7XG4gICAgaWYoZ29vZ2xlX2FwaWtleSE9dW5kZWZpbmVkKXtcbiAgICAgICAgY29uc3QgbG9hZGVyID0gbmV3IExvYWRlcih7XG4gICAgICAgICAgICBhcGlLZXk6IGdvb2dsZV9hcGlrZXksXG4gICAgICAgICAgICB2ZXJzaW9uOiBcIndlZWtseVwiLFxuICAgICAgICB9KTtcblxuICAgICAgICBsb2FkZXIubG9hZCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgJChcIi5nb29nbGVtYXBFbGVtZW50XCIpLmVhY2goZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgICAgICBJV0dvb2dsZU1hcHMuYnVpbGRHb29nbGVNYXBzKHRoaXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRXJyb3JlIGNhcmljYW1lbnRvIEdvb2dsZSBNYXBzOiBcIiArICQodGhpcykuYXR0cihcImlkXCIpKVxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy9tZW51IGphdmFzY3JpcHRcbiAgICAkKCAnLmRyb3Bkb3duLW1lbnUgYS5kcm9wZG93bi10b2dnbGUnICkub24oICdjbGljaycsIGZ1bmN0aW9uICggZSApIHtcbiAgICAgICAgdmFyICRlbCA9ICQoIHRoaXMgKTtcbiAgICAgICAgdmFyICRwYXJlbnQgPSAkKCB0aGlzICkub2Zmc2V0UGFyZW50KCBcIi5kcm9wZG93bi1tZW51XCIgKTtcbiAgICAgICAgaWYgKCAhJCggdGhpcyApLm5leHQoKS5oYXNDbGFzcyggJ3Nob3cnICkgKSB7XG4gICAgICAgICAgICAkKCB0aGlzICkucGFyZW50cyggJy5kcm9wZG93bi1tZW51JyApLmZpcnN0KCkuZmluZCggJy5zaG93JyApLnJlbW92ZUNsYXNzKCBcInNob3dcIiApO1xuICAgICAgICB9XG4gICAgICAgIHZhciAkc3ViTWVudSA9ICQoIHRoaXMgKS5uZXh0KCBcIi5kcm9wZG93bi1tZW51XCIgKTtcbiAgICAgICAgJHN1Yk1lbnUudG9nZ2xlQ2xhc3MoICdzaG93JyApO1xuXG4gICAgICAgICQoIHRoaXMgKS5wYXJlbnQoIFwibGlcIiApLnRvZ2dsZUNsYXNzKCAnc2hvdycgKTtcblxuICAgICAgICAkKCB0aGlzICkucGFyZW50cyggJ2xpLm5hdi1pdGVtLmRyb3Bkb3duLnNob3cnICkub24oICdoaWRkZW4uYnMuZHJvcGRvd24nLCBmdW5jdGlvbiAoIGUgKSB7XG4gICAgICAgICAgICAkKCAnLmRyb3Bkb3duLW1lbnUgLnNob3cnICkucmVtb3ZlQ2xhc3MoIFwic2hvd1wiICk7XG4gICAgICAgIH0gKTtcblxuICAgICAgICBpZiAoICEkcGFyZW50LnBhcmVudCgpLmhhc0NsYXNzKCAnbmF2YmFyLW5hdicgKSApIHtcbiAgICAgICAgICAgICRlbC5uZXh0KCkuY3NzKCB7IFwidG9wXCI6ICRlbFswXS5vZmZzZXRUb3AsIFwibGVmdFwiOiAkcGFyZW50Lm91dGVyV2lkdGgoKSAtIDQgfSApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9ICk7XG5cbn0pXG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW4iLCIvKipcbiAqIENyZWF0ZWQgYnkgUGhwU3Rvcm1cbiAqIFVzZXI6IGRhbmllbGVcbiAqIERhdGU6IDE1LzA1LzIwXG4gKiBUaW1lOiAxNC4zM1xuICovXG5pbXBvcnQgSVdEYXRhdGFibGUgZnJvbSBcIi4uLy4uLy4uL2Fzc2V0cy9qcy9jb21wb25lbnRzL2RhdGF0YWJsZXNcIjtcbmltcG9ydCBJV0dvb2dsZU1hcHMgZnJvbSBcIi4uLy4uLy4uL2Fzc2V0cy9qcy9jb21wb25lbnRzL2dvb2dsZW1hcHNcIjtcbmltcG9ydCAkIGZyb20gXCJqcXVlcnlcIjtcbmltcG9ydCB7TG9hZGVyfSBmcm9tIFwiQGdvb2dsZW1hcHMvanMtYXBpLWxvYWRlclwiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgZGlhbG9nU2hvdzogZnVuY3Rpb24gKGRpdmlkLCBjYWxsYmFjaywgb25PcGVuQ2FsbGJhY2spIHtcbiAgICAgICAgbGV0IGRpdiA9ICQoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWxcIik7XG4gICAgICAgICQoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWwgLklXRGF0YVRhYmxlc1wiKS5lYWNoKGZ1bmN0aW9uKCl7IElXRGF0YXRhYmxlLmJ1aWxkRGF0YXRhYmxlcyh0aGlzKTsgfSk7XG5cbiAgICAgICAgbGV0IGZpcnN0X2Rpdm1hcD0kKFwiI1wiICsgZGl2aWQgKyBcIk1vZGFsIC5nb29nbGVtYXBFbGVtZW50XCIpWzBdO1xuICAgICAgICBsZXQgZ29vZ2xlX2FwaWtleT0kKGZpcnN0X2Rpdm1hcCkuZGF0YShcImFwaWtleVwiKTtcbiAgICAgICAgaWYoZ29vZ2xlX2FwaWtleSl7XG4gICAgICAgICAgICBjb25zdCBsb2FkZXIgPSBuZXcgTG9hZGVyKHtcbiAgICAgICAgICAgICAgICBhcGlLZXk6IGdvb2dsZV9hcGlrZXksXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogXCJ3ZWVrbHlcIixcbiAgICAgICAgICAgICAgICBsaWJyYXJpZXM6IFwicGxhY2VzXCJcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsb2FkZXIubG9hZCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICQoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWwgLmdvb2dsZW1hcEVsZW1lbnRcIikuZWFjaChmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgICAgICAgICAgSVdHb29nbGVNYXBzLmJ1aWxkR29vZ2xlTWFwcyh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yZSBjYXJpY2FtZW50byBHb29nbGUgTWFwczogXCIgKyAkKHRoaXMpLmF0dHIoXCJpZFwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5tb2RhbChcInNob3dcIik7XG5cbiAgICAgICAgaWYodHlwZW9mIG9uT3BlbkNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIGRpdi5vbignc2hvdy5icy5tb2RhbCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgb25PcGVuQ2FsbGJhY2soZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm47XG5cbiAgICAgICAgbGV0IGJ0bnMgPSAkKFwiLlwiICsgZGl2aWQgKyBcIm1vZGFsQnV0dG9uc1wiKTtcbiAgICAgICAgYnRucy5vZmYoKTtcbiAgICAgICAgYnRucy5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cihcImRhdGEtdmFsdWVcIik7XG4gICAgICAgICAgICBpZih2YWx1ZSA9PT0gXCJ0cnVlXCIpIHZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmKHZhbHVlID09PSBcImZhbHNlXCIpIHZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICBjYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBqdW1wVG9UYWI6IGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICAkKFwiI2l3b2JqZWN0VGFic3RhYi1cIiArIGluZGV4KS50YWIoXCJzaG93XCIpO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgJCggJC5mbi5kYXRhVGFibGUudGFibGVzKCB0cnVlICkgKS5EYXRhVGFibGUoKS5jb2x1bW5zLmFkanVzdCgpO1xuICAgICAgICB9LCAzMDApO1xuICAgIH0sXG5cbiAgICByZXNpemVDb250ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IFwiYWpheC5waHA/SlNPTlwiLFxuICAgICAgICAgICAgdHlwZTogXCJwb3N0XCIsXG4gICAgICAgICAgICBkYXRhVHlwZTogXCJqc29uXCIsXG4gICAgICAgICAgICBkYXRhOiB7b2JqZWN0OiBcIlNldHVwXCIsIHRpcG92aWV3OiBcInJlc2l6ZUNvbnRlbnRcIiwgc2NyZWVud2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLCBzY3JlZW5oZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodH1cbiAgICAgICAgfSlcbiAgICB9XG59OyIsIi8qIVxuICAgICogU3RhcnQgQm9vdHN0cmFwIC0gU0IgQWRtaW4gdjYuMC4wIChodHRwczovL3N0YXJ0Ym9vdHN0cmFwLmNvbS90ZW1wbGF0ZXMvc2ItYWRtaW4pXG4gICAgKiBDb3B5cmlnaHQgMjAxMy0yMDIwIFN0YXJ0IEJvb3RzdHJhcFxuICAgICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vQmxhY2tyb2NrRGlnaXRhbC9zdGFydGJvb3RzdHJhcC1zYi1hZG1pbi9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICAgICovXG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKXtcbiAgICBcInVzZSBzdHJpY3RcIjtcblxuICAgIC8vIEFkZCBhY3RpdmUgc3RhdGUgdG8gc2lkYmFyIG5hdiBsaW5rc1xuICAgIHZhciBwYXRoID0gd2luZG93LmxvY2F0aW9uLmhyZWY7IC8vIGJlY2F1c2UgdGhlICdocmVmJyBwcm9wZXJ0eSBvZiB0aGUgRE9NIGVsZW1lbnQgaXMgdGhlIGFic29sdXRlIHBhdGhcbiAgICAkKFwiI2xheW91dFNpZGVuYXZfbmF2IC5zYi1zaWRlbmF2IGEubmF2LWxpbmtcIikuZWFjaChmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaHJlZiA9PT0gcGF0aCkge1xuICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhcImFjdGl2ZVwiKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVG9nZ2xlIHRoZSBzaWRlIG5hdmlnYXRpb25cbiAgICAkKFwiI3NpZGViYXJUb2dnbGVcIikub24oXCJjbGlja1wiLCBmdW5jdGlvbihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJChcImJvZHlcIikudG9nZ2xlQ2xhc3MoXCJzYi1zaWRlbmF2LXRvZ2dsZWRcIik7XG4gICAgfSk7XG59KVxuIl0sInNvdXJjZVJvb3QiOiIifQ==