(self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-index"],{ /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js": /*!**********************************************************************************!*\ !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js"); /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_index_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.scss */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss"); /***/ }), /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js": /*!******************************************************************************!*\ !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js"); __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js"); __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js"); __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js"); __webpack_require__(/*! core-js/modules/es.array.index-of.js */ "./node_modules/core-js/modules/es.array.index-of.js"); __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js"); __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js"); __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js"); $(document).ready(function () { lcCrudIndexToggle(); lcCrudIndexBatchActions(); lcCrudIndexInitFilter(); }); function lcCrudIndexToggle() { var toggles = document.querySelectorAll('.custom-switch input[type="checkbox"]'); for (i = 0; i < toggles.length; i++) { toggles[i].addEventListener('change', function () { var toggle = this; var newValue = this.checked; var oldValue = !newValue; var toggleUrl = this.closest('.custom-switch').dataset.url + "&newValue=" + newValue.toString(); var toggleRequest = $.ajax({ type: "POST", url: toggleUrl, data: {}, dataType: 'json' }); toggleRequest.done(function (response) { SovNotification.add('success', 'La propriété a bien été mise à jour.'); }); toggleRequest.fail(function () { toggle.checked = oldValue; toggle.disabled = true; toggle.closest('.checkbox-switch').classList.add('disabled'); SovNotification.add('error', 'Une erreur est survenue.'); }); }); } } function lcCrudIndexBatchActions() { var titleContent = $('.content-header-title > .title').html(); $(document).on('click', '.deselect-batch-button', function () { $(this).closest('.content').find(':checkbox.form-batch-checkbox-all').prop('checked', false).trigger('change'); }); $(document).on('change', '.form-batch-checkbox-all', function () { $(this).closest('.content').find(':checkbox.form-batch-checkbox').prop('checked', $(this).prop('checked')).trigger('change'); }); $(document).on('change', '.form-batch-checkbox', function () { var $content = $(this).closest('.content-wrapper'); var $input = $content.find(':hidden#batch_form_entityIds'); var ids = $input.val() ? $input.val().split(',') : []; var id = $(this).val(); if ($(this).prop('checked')) { $(this).closest('tr').addClass('selected-row'); if (-1 === ids.indexOf(id)) { ids.push(id); } } else { $(this).closest('tr').removeClass('selected-row'); ids = ids.filter(function (value) { return value !== id; }); $content.find(':checkbox.form-batch-checkbox-all').prop('checked', false); } if (0 === ids.length) { $content.find('.global-actions').show(); $content.find('.batch-actions').hide(); $content.find('table').removeClass('table-batch'); } else { $content.find('.batch-actions').show(); $content.find('.global-actions').hide(); $content.find('table').addClass('table-batch'); } $input.val(ids.join(',')); $content.find('.content-header-title > .title').html(0 === ids.length ? titleContent : ''); }); var modalTitle = $('#batch-action-confirmation-title'); var titleContentWithPlaceholders = modalTitle.text(); $('[data-action-batch]').on('click', function (event) { event.preventDefault(); event.stopPropagation(); var $actionElement = $(this); var actionName = $actionElement.attr('data-action-name'); var selectedItems = $('input[type="checkbox"].form-batch-checkbox:checked'); modalTitle.text(titleContentWithPlaceholders.replace('%action_name%', actionName).replace('%num_items%', selectedItems.length)); $('#modal-batch-action').modal({ backdrop: true, keyboard: true }).off('click', '#modal-batch-action-button').on('click', '#modal-batch-action-button', function () { $actionElement.unbind('click'); $form = document.createElement('form'); $form.setAttribute('action', $actionElement.attr('data-action-url')); $form.setAttribute('method', 'POST'); $actionNameInput = document.createElement('input'); $actionNameInput.setAttribute('type', 'hidden'); $actionNameInput.setAttribute('name', 'batchActionName'); $actionNameInput.setAttribute('value', $actionElement.attr('data-action-name')); $form.appendChild($actionNameInput); $entityFqcnInput = document.createElement('input'); $entityFqcnInput.setAttribute('type', 'hidden'); $entityFqcnInput.setAttribute('name', 'entityFqcn'); $entityFqcnInput.setAttribute('value', $actionElement.attr('data-entity-fqcn')); $form.appendChild($entityFqcnInput); $actionUrlInput = document.createElement('input'); $actionUrlInput.setAttribute('type', 'hidden'); $actionUrlInput.setAttribute('name', 'batchActionUrl'); $actionUrlInput.setAttribute('value', $actionElement.attr('data-action-url')); $form.appendChild($actionUrlInput); $csrfTokenInput = document.createElement('input'); $csrfTokenInput.setAttribute('type', 'hidden'); $csrfTokenInput.setAttribute('name', 'batchActionCsrfToken'); $csrfTokenInput.setAttribute('value', $actionElement.attr('data-action-csrf-token')); $form.appendChild($csrfTokenInput); selectedItems.each(function (i, item) { $entityIdInput = document.createElement('input'); $entityIdInput.setAttribute('type', 'hidden'); $entityIdInput.setAttribute('name', "batchActionEntityIds[".concat(i, "]")); $entityIdInput.setAttribute('value', item.value); $form.appendChild($entityIdInput); }); document.body.appendChild($form); //modalTitle.text(titleContentWithPlaceholders); $form.submit(); }); }); } function lcCrudIndexInitFilter() { $('#filters_form_reset').val(''); $('.lc-reset-filters').on('click', function (e) { //e.preventDefault(); $(this).parents('.table-filters-line').find('select,input').val('').trigger('change'); $('#filters_form_reset').val('clearAll'); Tools.log($(this).prop('form')); $(this).prop('form').submit(); //$(this).parents('form').submit(); }); } /***/ }), /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss": /*!********************************************************************************!*\ !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss ***! \********************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }) }, /******/ __webpack_require__ => { // webpackRuntimeModules /******/ "use strict"; /******/ /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_export_js","vendors-node_modules_core-js_modules_es_string_replace_js","vendors-node_modules_core-js_modules_es_array_find_js-node_modules_core-js_modules_es_date_to-6fef76","vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f7c72f"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js"))); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9pbmRleC9hcHAuaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9hcHAvYWRtaW5sdGUvaW5kZXgvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9hcHAvYWRtaW5sdGUvaW5kZXgvaW5kZXguc2NzcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsImxjQ3J1ZEluZGV4VG9nZ2xlIiwibGNDcnVkSW5kZXhCYXRjaEFjdGlvbnMiLCJsY0NydWRJbmRleEluaXRGaWx0ZXIiLCJ0b2dnbGVzIiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJhZGRFdmVudExpc3RlbmVyIiwidG9nZ2xlIiwibmV3VmFsdWUiLCJjaGVja2VkIiwib2xkVmFsdWUiLCJ0b2dnbGVVcmwiLCJjbG9zZXN0IiwiZGF0YXNldCIsInVybCIsInRvU3RyaW5nIiwidG9nZ2xlUmVxdWVzdCIsImFqYXgiLCJ0eXBlIiwiZGF0YSIsImRhdGFUeXBlIiwiZG9uZSIsInJlc3BvbnNlIiwiU292Tm90aWZpY2F0aW9uIiwiYWRkIiwiZmFpbCIsImRpc2FibGVkIiwiY2xhc3NMaXN0IiwidGl0bGVDb250ZW50IiwiaHRtbCIsIm9uIiwiZmluZCIsInByb3AiLCJ0cmlnZ2VyIiwiJGNvbnRlbnQiLCIkaW5wdXQiLCJpZHMiLCJ2YWwiLCJzcGxpdCIsImlkIiwiYWRkQ2xhc3MiLCJpbmRleE9mIiwicHVzaCIsInJlbW92ZUNsYXNzIiwiZmlsdGVyIiwidmFsdWUiLCJzaG93IiwiaGlkZSIsImpvaW4iLCJtb2RhbFRpdGxlIiwidGl0bGVDb250ZW50V2l0aFBsYWNlaG9sZGVycyIsInRleHQiLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiJGFjdGlvbkVsZW1lbnQiLCJhY3Rpb25OYW1lIiwiYXR0ciIsInNlbGVjdGVkSXRlbXMiLCJyZXBsYWNlIiwibW9kYWwiLCJiYWNrZHJvcCIsImtleWJvYXJkIiwib2ZmIiwidW5iaW5kIiwiJGZvcm0iLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiJGFjdGlvbk5hbWVJbnB1dCIsImFwcGVuZENoaWxkIiwiJGVudGl0eUZxY25JbnB1dCIsIiRhY3Rpb25VcmxJbnB1dCIsIiRjc3JmVG9rZW5JbnB1dCIsImVhY2giLCJpdGVtIiwiJGVudGl0eUlkSW5wdXQiLCJib2R5Iiwic3VibWl0IiwiZSIsInBhcmVudHMiLCJUb29scyIsImxvZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDQ0FBLENBQUMsQ0FBQ0MsUUFBRCxDQUFELENBQVlDLEtBQVosQ0FBa0IsWUFBVztBQUN6QkMsbUJBQWlCO0FBQ2pCQyx5QkFBdUI7QUFDdkJDLHVCQUFxQjtBQUN4QixDQUpEOztBQU1BLFNBQVNGLGlCQUFULEdBQTZCO0FBQ3pCLE1BQU1HLE9BQU8sR0FBR0wsUUFBUSxDQUFDTSxnQkFBVCxDQUEwQix1Q0FBMUIsQ0FBaEI7O0FBQ0EsT0FBS0MsQ0FBQyxHQUFHLENBQVQsRUFBWUEsQ0FBQyxHQUFHRixPQUFPLENBQUNHLE1BQXhCLEVBQWdDRCxDQUFDLEVBQWpDLEVBQXFDO0FBQ2pDRixXQUFPLENBQUNFLENBQUQsQ0FBUCxDQUFXRSxnQkFBWCxDQUE0QixRQUE1QixFQUFzQyxZQUFZO0FBQzlDLFVBQU1DLE1BQU0sR0FBRyxJQUFmO0FBQ0EsVUFBTUMsUUFBUSxHQUFHLEtBQUtDLE9BQXRCO0FBQ0EsVUFBTUMsUUFBUSxHQUFHLENBQUNGLFFBQWxCO0FBQ0EsVUFBTUcsU0FBUyxHQUFHLEtBQUtDLE9BQUwsQ0FBYSxnQkFBYixFQUErQkMsT0FBL0IsQ0FBdUNDLEdBQXZDLEdBQTZDLFlB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LENBTTVDO0FBQ0gsR0FQRDtBQVNILEM7Ozs7Ozs7Ozs7OztBQ3JKRCIsImZpbGUiOiJhZG1pbmx0ZS1pbmRleC41NDI4MWU0Yi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICcuL2luZGV4LmpzJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnIiwiXG5cbiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkge1xuICAgIGxjQ3J1ZEluZGV4VG9nZ2xlKCkgO1xuICAgIGxjQ3J1ZEluZGV4QmF0Y2hBY3Rpb25zKCkgO1xuICAgIGxjQ3J1ZEluZGV4SW5pdEZpbHRlcigpO1xufSkgO1xuXG5mdW5jdGlvbiBsY0NydWRJbmRleFRvZ2dsZSgpIHtcbiAgICBjb25zdCB0b2dnbGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmN1c3RvbS1zd2l0Y2ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJyk7XG4gICAgZm9yIChpID0gMDsgaSA8IHRvZ2dsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdG9nZ2xlc1tpXS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCB0b2dnbGUgPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmNoZWNrZWQ7XG4gICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9ICFuZXdWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHRvZ2dsZVVybCA9IHRoaXMuY2xvc2VzdCgnLmN1c3RvbS1zd2l0Y2gnKS5kYXRhc2V0LnVybCArIFwiJm5ld1ZhbHVlPVwiICsgbmV3VmFsdWUudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgbGV0IHRvZ2dsZVJlcXVlc3QgPSAkLmFqYXgoe3R5cGU6IFwiUE9TVFwiLCB1cmw6IHRvZ2dsZVVybCwgZGF0YToge30sIGRhdGFUeXBlOiAnanNvbid9KTtcblxuICAgICAgICAgICAgdG9nZ2xlUmVxdWVzdC5kb25lKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIFNvdk5vdGlmaWNhdGlvbi5hZGQoJ3N1Y2Nlc3MnLCAnTGEgcHJvcHJpw6l0w6kgYSBiaWVuIMOpdMOpIG1pc2Ugw6Agam91ci4nKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0b2dnbGVSZXF1ZXN0LmZhaWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5jaGVja2VkID0gb2xkVmFsdWU7XG4gICAgICAgICAgICAgICAgdG9nZ2xlLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0b2dnbGUuY2xvc2VzdCgnLmNoZWNrYm94LXN3aXRjaCcpLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgU292Tm90aWZpY2F0aW9uLmFkZCgnZXJyb3InLCAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBsY0NydWRJbmRleEJhdGNoQWN0aW9ucygpIHtcbiAgICBjb25zdCB0aXRsZUNvbnRlbnQgPSAkKCcuY29udGVudC1oZWFkZXItdGl0bGUgPiAudGl0bGUnKS5odG1sKCk7XG4gICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJy5kZXNlbGVjdC1iYXRjaC1idXR0b24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQodGhpcykuY2xvc2VzdCgnLmNvbnRlbnQnKS5maW5kKCc6Y2hlY2tib3guZm9ybS1iYXRjaC1jaGVja2JveC1hbGwnKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgIH0pO1xuICAgICQoZG9jdW1lbnQpLm9uKCdjaGFuZ2UnLCAnLmZvcm0tYmF0Y2gtY2hlY2tib3gtYWxsJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJy5jb250ZW50JykuZmluZCgnOmNoZWNrYm94LmZvcm0tYmF0Y2gtY2hlY2tib3gnKS5wcm9wKCdjaGVja2VkJywgJCh0aGlzKS5wcm9wKCdjaGVja2VkJykpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgIH0pO1xuICAgICQoZG9jdW1lbnQpLm9uKCdjaGFuZ2UnLCAnLmZvcm0tYmF0Y2gtY2hlY2tib3gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0ICRjb250ZW50ID0gJCh0aGlzKS5jbG9zZXN0KCcuY29udGVudC13cmFwcGVyJyk7XG4gICAgICAgIGxldCAkaW5wdXQgPSAkY29udGVudC5maW5kKCc6aGlkZGVuI2JhdGNoX2Zvcm1fZW50aXR5SWRzJyk7XG4gICAgICAgIGxldCBpZHMgPSAkaW5wdXQudmFsKCkgPyAkaW5wdXQudmFsKCkuc3BsaXQoJywnKSA6IFtdO1xuICAgICAgICBjb25zdCBpZCA9ICQodGhpcykudmFsKCk7XG5cbiAgICAgICAgaWYgKCQodGhpcykucHJvcCgnY2hlY2tlZCcpKSB7XG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykuYWRkQ2xhc3MoJ3NlbGVjdGVkLXJvdycpO1xuICAgICAgICAgICAgaWYgKC0xID09PSBpZHMuaW5kZXhPZihpZCkpIHtcbiAgICAgICAgICAgICAgICBpZHMucHVzaChpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkLXJvdycpO1xuICAgICAgICAgICAgaWRzID0gaWRzLmZpbHRlcihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IGlkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICRjb250ZW50LmZpbmQoJzpjaGVja2JveC5mb3JtLWJhdGNoLWNoZWNrYm94LWFsbCcpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoMCA9PT0gaWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmdsb2JhbC1hY3Rpb25zJykuc2hvdygpO1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmJhdGNoLWFjdGlvbnMnKS5oaWRlKCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCd0YWJsZScpLnJlbW92ZUNsYXNzKCd0YWJsZS1iYXRjaCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmJhdGNoLWFjdGlvbnMnKS5zaG93KCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCcuZ2xvYmFsLWFjdGlvbnMnKS5oaWRlKCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCd0YWJsZScpLmFkZENsYXNzKCd0YWJsZS1iYXRjaCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJGlucHV0LnZhbChpZHMuam9pbignLCcpKTtcbiAgICAgICAgJGNvbnRlbnQuZmluZCgnLmNvbnRlbnQtaGVhZGVyLXRpdGxlID4gLnRpdGxlJykuaHRtbCgwID09PSBpZHMubGVuZ3RoID8gdGl0bGVDb250ZW50IDogJycpO1xuICAgIH0pO1xuXG4gICAgbGV0IG1vZGFsVGl0bGUgPSAkKCcjYmF0Y2gtYWN0aW9uLWNvbmZpcm1hdGlvbi10aXRsZScpO1xuICAgIGNvbnN0IHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnMgPSBtb2RhbFRpdGxlLnRleHQoKTtcblxuICAgICQoJ1tkYXRhLWFjdGlvbi1iYXRjaF0nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGxldCAkYWN0aW9uRWxlbWVudCA9ICQodGhpcyk7XG5cbiAgICAgICAgY29uc3QgYWN0aW9uTmFtZSA9ICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtYWN0aW9uLW5hbWUnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9ICQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXS5mb3JtLWJhdGNoLWNoZWNrYm94OmNoZWNrZWQnKTtcbiAgICAgICAgbW9kYWxUaXRsZS50ZXh0KHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnNcbiAgICAgICAgICAgIC5yZXBsYWNlKCclYWN0aW9uX25hbWUlJywgYWN0aW9uTmFtZSlcbiAgICAgICAgICAgIC5yZXBsYWNlKCclbnVtX2l0ZW1zJScsIHNlbGVjdGVkSXRlbXMubGVuZ3RoKSk7XG5cbiAgICAgICAgJCgnI21vZGFsLWJhdGNoLWFjdGlvbicpLm1vZGFsKHtiYWNrZHJvcDogdHJ1ZSwga2V5Ym9hcmQ6IHRydWV9KVxuICAgICAgICAgICAgLm9mZignY2xpY2snLCAnI21vZGFsLWJhdGNoLWFjdGlvbi1idXR0b24nKVxuICAgICAgICAgICAgLm9uKCdjbGljaycsICcjbW9kYWwtYmF0Y2gtYWN0aW9uLWJ1dHRvbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAkYWN0aW9uRWxlbWVudC51bmJpbmQoJ2NsaWNrJyk7XG5cbiAgICAgICAgICAgICAgICAkZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtYWN0aW9uLXVybCcpKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5zZXRBdHRyaWJ1dGUoJ21ldGhvZCcsICdQT1NUJyk7XG5cbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAkYWN0aW9uRWxlbWVudC5hdHRyKCdkYXRhLWFjdGlvbi1uYW1lJykpO1xuICAgICAgICAgICAgICAgICRmb3JtLmFwcGVuZENoaWxkKCRhY3Rpb25OYW1lSW5wdXQpO1xuXG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnZW50aXR5RnFjbicpO1xuICAgICAgICAgICAgICAgICRlbnRpdHlGcWNuSW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtZW50aXR5LWZxY24nKSk7XG4gICAgICAgICAgICAgICAgJGZvcm0uYXBwZW5kQ2hpbGQoJGVudGl0eUZxY25JbnB1dCk7XG5cbiAgICAgICAgICAgICAgICAkYWN0aW9uVXJsSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgICAgICRhY3Rpb25VcmxJbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGFjdGlvblVybElucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvblVybCcpO1xuICAgICAgICAgICAgICAgICRhY3Rpb25VcmxJbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJGFjdGlvbkVsZW1lbnQuYXR0cignZGF0YS1hY3Rpb24tdXJsJykpO1xuICAgICAgICAgICAgICAgICRmb3JtLmFwcGVuZENoaWxkKCRhY3Rpb25VcmxJbnB1dCk7XG5cbiAgICAgICAgICAgICAgICAkY3NyZlRva2VuSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgICAgICRjc3JmVG9rZW5JbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGNzcmZUb2tlbklucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvbkNzcmZUb2tlbicpO1xuICAgICAgICAgICAgICAgICRjc3JmVG9rZW5JbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJGFjdGlvbkVsZW1lbnQuYXR0cignZGF0YS1hY3Rpb24tY3NyZi10b2tlbicpKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5hcHBlbmRDaGlsZCgkY3NyZlRva2VuSW5wdXQpO1xuXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5lYWNoKChpLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICRlbnRpdHlJZElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgJGVudGl0eUlkSW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZW50aXR5SWRJbnB1dC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgYmF0Y2hBY3Rpb25FbnRpdHlJZHNbJHtpfV1gKTtcbiAgICAgICAgICAgICAgICAgICAgJGVudGl0eUlkSW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGl0ZW0udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAkZm9ybS5hcHBlbmRDaGlsZCgkZW50aXR5SWRJbnB1dCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCRmb3JtKTtcblxuICAgICAgICAgICAgICAgIC8vbW9kYWxUaXRsZS50ZXh0KHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnMpO1xuICAgICAgICAgICAgICAgICRmb3JtLnN1Ym1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGxjQ3J1ZEluZGV4SW5pdEZpbHRlcigpIHtcbiAgICAkKCcjZmlsdGVyc19mb3JtX3Jlc2V0JykudmFsKCcnKTtcblxuICAgICQoJy5sYy1yZXNldC1maWx0ZXJzJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgLy9lLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICQodGhpcykucGFyZW50cygnLnRhYmxlLWZpbHRlcnMtbGluZScpLmZpbmQoJ3NlbGVjdCxpbnB1dCcpLnZhbCgnJykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICQoJyNmaWx0ZXJzX2Zvcm1fcmVzZXQnKS52YWwoJ2NsZWFyQWxsJyk7XG4gICAgICAgIFRvb2xzLmxvZygkKHRoaXMpLnByb3AoJ2Zvcm0nKSk7XG4gICAgICAgICQodGhpcykucHJvcCgnZm9ybScpLnN1Ym1pdCgpO1xuICAgICAgICAvLyQodGhpcykucGFyZW50cygnZm9ybScpLnN1Ym1pdCgpO1xuICAgIH0pXG5cbn0iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwic291cmNlUm9vdCI6IiJ9