|
- (self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-main"],{
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/app.main.js":
- /*!********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/app.main.js ***!
- \********************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init.js */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/init.js");
- /* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_init_js__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _common_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common.scss */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/common.scss");
-
-
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/init.js":
- /*!****************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/init.js ***!
- \****************************************************************************/
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
-
- __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.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
-
- window.addEventListener('load', function (event) {
- SovNotification.init();
- SovWidgets.setDateRange();
- $('.btn-confirm-js, .action-confirm').click(function () {
- return confirm('Êtes-vous sûr de vouloir réaliser cette action ?');
- });
- /* Tooltip */
-
- $('[data-toggle="tooltip"]').tooltip();
- /* Select2 */
-
- if ($('.form-select, .select2, select.form-control').length) {
- $('form .form-widget>select.form-control, .select2, .form-select').each(function (i, elm) {
- if (!$(this).hasClass('disable-select2')) {
- SovWidgets.setSelect2($(elm));
- }
- });
- $('form select.form-control').each(function (i, elm) {
- if (!$(this).hasClass('disable-select2')) {
- SovWidgets.setSelect2($(elm));
- }
- });
- }
-
- $('.action-delete').on('click', function (e) {
- e.preventDefault();
- var formAction = $(this).attr('formaction');
- $('#modal-delete').modal({
- backdrop: true,
- keyboard: true
- }).off('click', '#modal-delete-button').on('click', '#modal-delete-button', function () {
- var deleteForm = $('#delete-form');
- deleteForm.attr('action', formAction);
- deleteForm.submit();
- });
- });
- var elements = $('.lc-ckeditor');
-
- if (elements.length) {
- for (var i = 0; i < elements.length; ++i) {
- if ($(elements[i]).data('config') === 'simple_config') {
- CKEDITOR.replace(elements[i], {
- "toolbar": [{
- items: ['Bold', 'Italic', 'Underline', 'Strike']
- }, {
- items: ["TextColor"]
- }],
- "language": "fr",
- 'height': 100
- });
- } else {
- CKEDITOR.replace(elements[i], {
- "toolbar": [{
- name: "styles",
- items: ["Format", 'Bold', 'Italic', 'Underline', 'Strike', "Link", "BulletedList"]
- }, {
- items: ["TextColor"]
- }, {
- name: 'paragraph',
- items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock']
- }, {
- name: 'insert',
- items: ['Image', 'SpecialChar']
- }, {
- name: "document",
- items: ["Source"]
- }],
- "language": "fr"
- });
- }
- }
- }
-
- SovWidgets.setAutoCompleteField();
- });
-
- /***/ }),
-
- /***/ "./node_modules/core-js/internals/get-substitution.js":
- /*!************************************************************!*\
- !*** ./node_modules/core-js/internals/get-substitution.js ***!
- \************************************************************/
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
-
- var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
-
- var floor = Math.floor;
- var replace = ''.replace;
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
-
- // `GetSubstitution` abstract operation
- // https://tc39.es/ecma262/#sec-getsubstitution
- module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
- var tailPos = position + matched.length;
- var m = captures.length;
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
- if (namedCaptures !== undefined) {
- namedCaptures = toObject(namedCaptures);
- symbols = SUBSTITUTION_SYMBOLS;
- }
- return replace.call(replacement, symbols, function (match, ch) {
- var capture;
- switch (ch.charAt(0)) {
- case '$': return '$';
- case '&': return matched;
- case '`': return str.slice(0, position);
- case "'": return str.slice(tailPos);
- case '<':
- capture = namedCaptures[ch.slice(1, -1)];
- break;
- default: // \d\d?
- var n = +ch;
- if (n === 0) return match;
- if (n > m) {
- var f = floor(n / 10);
- if (f === 0) return match;
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
- return match;
- }
- capture = captures[n - 1];
- }
- return capture === undefined ? '' : capture;
- });
- };
-
-
- /***/ }),
-
- /***/ "./node_modules/core-js/modules/es.string.replace.js":
- /*!***********************************************************!*\
- !*** ./node_modules/core-js/modules/es.string.replace.js ***!
- \***********************************************************/
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
-
- "use strict";
-
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
- var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
- var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
- var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
- var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
- var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
- var getSubstitution = __webpack_require__(/*! ../internals/get-substitution */ "./node_modules/core-js/internals/get-substitution.js");
- var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
-
- var max = Math.max;
- var min = Math.min;
-
- var maybeToString = function (it) {
- return it === undefined ? it : String(it);
- };
-
- // @@replace logic
- fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
-
- return [
- // `String.prototype.replace` method
- // https://tc39.es/ecma262/#sec-string.prototype.replace
- function replace(searchValue, replaceValue) {
- var O = requireObjectCoercible(this);
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
- return replacer !== undefined
- ? replacer.call(searchValue, O, replaceValue)
- : nativeReplace.call(String(O), searchValue, replaceValue);
- },
- // `RegExp.prototype[@@replace]` method
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
- function (regexp, replaceValue) {
- if (
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
- ) {
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
- if (res.done) return res.value;
- }
-
- var rx = anObject(regexp);
- var S = String(this);
-
- var functionalReplace = typeof replaceValue === 'function';
- if (!functionalReplace) replaceValue = String(replaceValue);
-
- var global = rx.global;
- if (global) {
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- }
- var results = [];
- while (true) {
- var result = regExpExec(rx, S);
- if (result === null) break;
-
- results.push(result);
- if (!global) break;
-
- var matchStr = String(result[0]);
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
- }
-
- var accumulatedResult = '';
- var nextSourcePosition = 0;
- for (var i = 0; i < results.length; i++) {
- result = results[i];
-
- var matched = String(result[0]);
- var position = max(min(toInteger(result.index), S.length), 0);
- var captures = [];
- // NOTE: This is equivalent to
- // captures = result.slice(1).map(maybeToString)
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
- var namedCaptures = result.groups;
- if (functionalReplace) {
- var replacerArgs = [matched].concat(captures, position, S);
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
- } else {
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
- }
- if (position >= nextSourcePosition) {
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
- nextSourcePosition = position + matched.length;
- }
- }
- return accumulatedResult + S.slice(nextSourcePosition);
- }
- ];
- });
-
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/common.scss":
- /*!********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/common.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_internals_advance-string-index_js-node_modules_core-js_internals-bed4a0"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/main/app.main.js")));
- /******/ var __webpack_exports__ = __webpack_require__.O();
- /******/ }
- ]);
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9tYWluL2FwcC5tYWluLmpzIiwid2VicGFjazovLy8uLi9MYUNsaWNCdW5kbGUvU292QnVuZGxlL1Jlc291cmNlcy9hc3NldHMvYXBwL2FkbWlubHRlL21haW4vaW5pdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZ2V0LXN1YnN0aXR1dGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIiwid2VicGFjazovLy8uLi9MYUNsaWNCdW5kbGUvU292QnVuZGxlL1Jlc291cmNlcy9hc3NldHMvYXBwL2FkbWlubHRlL21haW4vY29tbW9uLnNjc3MiXSwibmFtZXMiOlsid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiU292Tm90aWZpY2F0aW9uIiwiaW5pdCIsIlNvdldpZGdldHMiLCJzZXREYXRlUmFuZ2UiLCIkIiwiY2xpY2siLCJjb25maXJtIiwidG9vbHRpcCIsImxlbmd0aCIsImVhY2giLCJpIiwiZWxtIiwiaGFzQ2xhc3MiLCJzZXRTZWxlY3QyIiwib24iLCJlIiwicHJldmVudERlZmF1bHQiLCJmb3JtQWN0aW9uIiwiYXR0ciIsIm1vZGFsIiwiYmFja2Ryb3AiLCJrZXlib2FyZCIsIm9mZiIsImRlbGV0ZUZvcm0iLCJzdWJtaXQiLCJlbGVtZW50cyIsImRhdGEiLCJDS0VESVRPUiIsInJlcGxhY2UiLCJpdGVtcyIsIm5hbWUiLCJzZXRBdXRvQ29tcGxldGVGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNEQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixNQUF4QixFQUFnQyxVQUFDQyxLQUFELEVBQVc7QUFHdkNDLGlCQUFlLENBQUNDLElBQWhCO0FB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MkZBQStCO0FBQzdELGlCQUFpQixtQkFBTyxDQUFDLG1HQUFtQzs7QUFFNUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCLG9CQUFvQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLG1CQUFtQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7OztBQ2pHRCIsImZpbGUiOiJhZG1pbmx0ZS1tYWluLjU0ZTcwZDljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgJy4vaW5pdC5qcyc7XG5pbXBvcnQgJy4vY29tbW9uLnNjc3MnOyIsIndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKGV2ZW50KSA9PiB7XG5cblxuICAgIFNvdk5vdGlmaWNhdGlvbi5pbml0KCk7XG5cbiAgICBTb3ZXaWRnZXRzLnNldERhdGVSYW5nZSgpO1xuXG4gICAgJCgnLmJ0bi1jb25maXJtLWpzLCAuYWN0aW9uLWNvbmZpcm0nKS5jbGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBjb25maXJtKCfDinRlcy12b3VzIHPDu3IgZGUgdm91bG9pciByw6lhbGlzZXIgY2V0dGUgYWN0aW9uID8nKTtcbiAgICB9KTtcblxuICAgIC8qIFRvb2x0aXAgKi9cbiAgICAkKCdbZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJdJykudG9vbHRpcCgpO1xuXG4gICAgLyogU2VsZWN0MiAqL1xuICAgIGlmICgkKCcuZm9ybS1zZWxlY3QsIC5zZWxlY3QyLCBzZWxlY3QuZm9ybS1jb250cm9sJykubGVuZ3RoKSB7XG5cblxuICAgICAgICAkKCdmb3JtIC5mb3JtLXdpZGdldD5zZWxlY3QuZm9ybS1jb250cm9sLCAuc2VsZWN0MiwgLmZvcm0tc2VsZWN0JykuZWFjaChmdW5jdGlvbiAoaSwgZWxtKSB7XG4gICAgICAgICAgICBpZiAoISQodGhpcykuaGFzQ2xhc3MoJ2Rpc2FibGUtc2VsZWN0MicpKSB7XG4gICAgICAgICAgICAgICAgU292V2lkZ2V0cy5zZXRTZWxlY3QyKCQoZWxtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoJ2Zvcm0gc2VsZWN0LmZvcm0tY29udHJvbCcpLmVhY2goZnVuY3Rpb24gKGksIGVsbSkge1xuICAgICAgICAgICAgaWYgKCEkKHRoaXMpLmhhc0NsYXNzKCdkaXNhYmxlLXNlbGVjdDInKSkge1xuICAgICAgICAgICAgICAgIFNvdldpZGdldHMuc2V0U2VsZWN0MigkKGVsbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAkKCcuYWN0aW9uLWRlbGV0ZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgZm9ybUFjdGlvbiA9ICQodGhpcykuYXR0cignZm9ybWFjdGlvbicpO1xuXG4gICAgICAgICQoJyNtb2RhbC1kZWxldGUnKS5tb2RhbCh7YmFja2Ryb3A6IHRydWUsIGtleWJvYXJkOiB0cnVlfSlcbiAgICAgICAgICAgIC5vZmYoJ2NsaWNrJywgJyNtb2RhbC1kZWxldGUtYnV0dG9uJylcbiAgICAgICAgICAgIC5vbignY2xpY2snLCAnI21vZGFsLWRlbGV0ZS1idXR0b24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRlbGV0ZUZvcm0gPSAkKCcjZGVsZXRlLWZvcm0nKTtcbiAgICAgICAgICAgICAgICBkZWxldGVGb3JtLmF0dHIoJ2FjdGlvbicsIGZvcm1BY3Rpb24pO1xuICAgICAgICAgICAgICAgIGRlbGV0ZUZvcm0uc3VibWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9KTtcblxuXG4gICAgdmFyIGVsZW1lbnRzID0gJCgnLmxjLWNrZWRpdG9yJyk7XG5cbiAgICBpZiAoZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIGlmICgkKGVsZW1lbnRzW2ldKS5kYXRhKCdjb25maWcnKSA9PT0gJ3NpbXBsZV9jb25maWcnKSB7XG4gICAgICAgICAgICAgICAgQ0tFRElUT1IucmVwbGFjZShlbGVtZW50c1tpXSwge1xuICAgICAgICAgICAgICAgICAgICBcInRvb2xiYXJcIjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2UnXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW1wiVGV4dENvbG9yXCJdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIFwibGFuZ3VhZ2VcIjogXCJmclwiLFxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogMTAwXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIENLRURJVE9SLnJlcGxhY2UoZWxlbWVudHNbaV0sIHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0b29sYmFyXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInN0eWxlc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbXCJGb3JtYXRcIiwgJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2UnLCBcIkxpbmtcIiwgXCJCdWxsZXRlZExpc3RcIl1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFtcIlRleHRDb2xvclwiXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiAncGFyYWdyYXBoJywgaXRlbXM6IFsnSnVzdGlmeUxlZnQnLCAnSnVzdGlmeUNlbnRlcicsICdKdXN0aWZ5UmlnaHQnLCAnSnVzdGlmeUJsb2NrJ119LFxuICAgICAgICAgICAgICAgICAgICAgICAge25hbWU6ICdpbnNlcnQnLCBpdGVtczogWydJbWFnZScsICdTcGVjaWFsQ2hhciddfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiBcImRvY3VtZW50XCIsIGl0ZW1zOiBbXCJTb3VyY2VcIl19LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBcImxhbmd1YWdlXCI6IFwiZnJcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBTb3ZXaWRnZXRzLnNldEF1dG9Db21wbGV0ZUZpZWxkKCk7XG5cblxufSk7IiwidmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLW9iamVjdCcpO1xuXG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xudmFyIHJlcGxhY2UgPSAnJy5yZXBsYWNlO1xudmFyIFNVQlNUSVRVVElPTl9TWU1CT0xTID0gL1xcJChbJCYnYF18XFxkezEsMn18PFtePl0qPikvZztcbnZhciBTVUJTVElUVVRJT05fU1lNQk9MU19OT19OQU1FRCA9IC9cXCQoWyQmJ2BdfFxcZHsxLDJ9KS9nO1xuXG4vLyBgR2V0U3Vic3RpdHV0aW9uYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtZ2V0c3Vic3RpdHV0aW9uXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChtYXRjaGVkLCBzdHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZW1lbnQpIHtcbiAgdmFyIHRhaWxQb3MgPSBwb3NpdGlvbiArIG1hdGNoZWQubGVuZ3RoO1xuICB2YXIgbSA9IGNhcHR1cmVzLmxlbmd0aDtcbiAgdmFyIHN5bWJvbHMgPSBTVUJTVElUVVRJT05fU1lNQk9MU19OT19OQU1FRDtcbiAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIG5hbWVkQ2FwdHVyZXMgPSB0b09iamVjdChuYW1lZENhcHR1cmVzKTtcbiAgICBzeW1ib2xzID0gU1VCU1RJVFVUSU9OX1NZTUJPTFM7XG4gIH1cbiAgcmV0dXJuIHJlcGxhY2UuY2FsbChyZXBsYWNlbWVudCwgc3ltYm9scywgZnVuY3Rpb24gKG1hdGNoLCBjaCkge1xuICAgIHZhciBjYXB0dXJlO1xuICAgIHN3aXRjaCAoY2guY2hhckF0KDApKSB7XG4gICAgICBjYXNlICckJzogcmV0dXJuICckJztcbiAgICAgIGNhc2UgJyYnOiByZXR1cm4gbWF0Y2hlZDtcbiAgICAgIGNhc2UgJ2AnOiByZXR1cm4gc3RyLnNsaWNlKDAsIHBvc2l0aW9uKTtcbiAgICAgIGNhc2UgXCInXCI6IHJldHVybiBzdHIuc2xpY2UodGFpbFBvcyk7XG4gICAgICBjYXNlICc8JzpcbiAgICAgICAgY2FwdHVyZSA9IG5hbWVkQ2FwdHVyZXNbY2guc2xpY2UoMSwgLTEpXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OiAvLyBcXGRcXGQ/XG4gICAgICAgIHZhciBuID0gK2NoO1xuICAgICAgICBpZiAobiA9PT0gMCkgcmV0dXJuIG1hdGNoO1xuICAgICAgICBpZiAobiA+IG0pIHtcbiAgICAgICAgICB2YXIgZiA9IGZsb29yKG4gLyAxMCk7XG4gICAgICAgICAgaWYgKGYgPT09IDApIHJldHVybiBtYXRjaDtcbiAgICAgICAgICBpZiAoZiA8PSBtKSByZXR1cm4gY2FwdHVyZXNbZiAtIDFdID09PSB1bmRlZmluZWQgPyBjaC5jaGFyQXQoMSkgOiBjYXB0dXJlc1tmIC0gMV0gKyBjaC5jaGFyQXQoMSk7XG4gICAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgICB9XG4gICAgICAgIGNhcHR1cmUgPSBjYXB0dXJlc1tuIC0gMV07XG4gICAgfVxuICAgIHJldHVybiBjYXB0dXJlID09PSB1bmRlZmluZWQgPyAnJyA6IGNhcHR1cmU7XG4gIH0pO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBmaXhSZWdFeHBXZWxsS25vd25TeW1ib2xMb2dpYyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9maXgtcmVnZXhwLXdlbGwta25vd24tc3ltYm9sLWxvZ2ljJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYW4tb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdG8tbGVuZ3RoJyk7XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLWludGVnZXInKTtcbnZhciByZXF1aXJlT2JqZWN0Q29lcmNpYmxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3JlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZScpO1xudmFyIGFkdmFuY2VTdHJpbmdJbmRleCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hZHZhbmNlLXN0cmluZy1pbmRleCcpO1xudmFyIGdldFN1YnN0aXR1dGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nZXQtc3Vic3RpdHV0aW9uJyk7XG52YXIgcmVnRXhwRXhlYyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xuXG52YXIgbWF4ID0gTWF0aC5tYXg7XG52YXIgbWluID0gTWF0aC5taW47XG5cbnZhciBtYXliZVRvU3RyaW5nID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCA9PT0gdW5kZWZpbmVkID8gaXQgOiBTdHJpbmcoaXQpO1xufTtcblxuLy8gQEByZXBsYWNlIGxvZ2ljXG5maXhSZWdFeHBXZWxsS25vd25TeW1ib2xMb2dpYygncmVwbGFjZScsIDIsIGZ1bmN0aW9uIChSRVBMQUNFLCBuYXRpdmVSZXBsYWNlLCBtYXliZUNhbGxOYXRpdmUsIHJlYXNvbikge1xuICB2YXIgUkVHRVhQX1JFUExBQ0VfU1VCU1RJVFVURVNfVU5ERUZJTkVEX0NBUFRVUkUgPSByZWFzb24uUkVHRVhQX1JFUExBQ0VfU1VCU1RJVFVURVNfVU5ERUZJTkVEX0NBUFRVUkU7XG4gIHZhciBSRVBMQUNFX0tFRVBTXyQwID0gcmVhc29uLlJFUExBQ0VfS0VFUFNfJDA7XG4gIHZhciBVTlNBRkVfU1VCU1RJVFVURSA9IFJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFID8gJyQnIDogJyQwJztcblxuICByZXR1cm4gW1xuICAgIC8vIGBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlXG4gICAgZnVuY3Rpb24gcmVwbGFjZShzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlKSB7XG4gICAgICB2YXIgTyA9IHJlcXVpcmVPYmplY3RDb2VyY2libGUodGhpcyk7XG4gICAgICB2YXIgcmVwbGFjZXIgPSBzZWFyY2hWYWx1ZSA9PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBzZWFyY2hWYWx1ZVtSRVBMQUNFXTtcbiAgICAgIHJldHVybiByZXBsYWNlciAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gcmVwbGFjZXIuY2FsbChzZWFyY2hWYWx1ZSwgTywgcmVwbGFjZVZhbHVlKVxuICAgICAgICA6IG5hdGl2ZVJlcGxhY2UuY2FsbChTdHJpbmcoTyksIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEByZXBsYWNlXWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAcmVwbGFjZVxuICAgIGZ1bmN0aW9uIChyZWdleHAsIHJlcGxhY2VWYWx1ZSkge1xuICAgICAgaWYgKFxuICAgICAgICAoIVJFR0VYUF9SRVBMQUNFX1NVQlNUSVRVVEVTX1VOREVGSU5FRF9DQVBUVVJFICYmIFJFUExBQ0VfS0VFUFNfJDApIHx8XG4gICAgICAgICh0eXBlb2YgcmVwbGFjZVZhbHVlID09PSAnc3RyaW5nJyAmJiByZXBsYWNlVmFsdWUuaW5kZXhPZihVTlNBRkVfU1VCU1RJVFVURSkgPT09IC0xKVxuICAgICAgKSB7XG4gICAgICAgIHZhciByZXMgPSBtYXliZUNhbGxOYXRpdmUobmF0aXZlUmVwbGFjZSwgcmVnZXhwLCB0aGlzLCByZXBsYWNlVmFsdWUpO1xuICAgICAgICBpZiAocmVzLmRvbmUpIHJldHVybiByZXMudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHZhciByeCA9IGFuT2JqZWN0KHJlZ2V4cCk7XG4gICAgICB2YXIgUyA9IFN0cmluZyh0aGlzKTtcblxuICAgICAgdmFyIGZ1bmN0aW9uYWxSZXBsYWNlID0gdHlwZW9mIHJlcGxhY2VWYWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgIGlmICghZnVuY3Rpb25hbFJlcGxhY2UpIHJlcGxhY2VWYWx1ZSA9IFN0cmluZyhyZXBsYWNlVmFsdWUpO1xuXG4gICAgICB2YXIgZ2xvYmFsID0gcnguZ2xvYmFsO1xuICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICB2YXIgZnVsbFVuaWNvZGUgPSByeC51bmljb2RlO1xuICAgICAgICByeC5sYXN0SW5kZXggPSAwO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZWdFeHBFeGVjKHJ4LCBTKTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkgYnJlYWs7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgICAgIGlmICghZ2xvYmFsKSBicmVhaztcblxuICAgICAgICB2YXIgbWF0Y2hTdHIgPSBTdHJpbmcocmVzdWx0WzBdKTtcbiAgICAgICAgaWYgKG1hdGNoU3RyID09PSAnJykgcngubGFzdEluZGV4ID0gYWR2YW5jZVN0cmluZ0luZGV4KFMsIHRvTGVuZ3RoKHJ4Lmxhc3RJbmRleCksIGZ1bGxVbmljb2RlKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGFjY3VtdWxhdGVkUmVzdWx0ID0gJyc7XG4gICAgICB2YXIgbmV4dFNvdXJjZVBvc2l0aW9uID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHRzW2ldO1xuXG4gICAgICAgIHZhciBtYXRjaGVkID0gU3RyaW5nKHJlc3VsdFswXSk7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IG1heChtaW4odG9JbnRlZ2VyKHJlc3VsdC5pbmRleCksIFMubGVuZ3RoKSwgMCk7XG4gICAgICAgIHZhciBjYXB0dXJlcyA9IFtdO1xuICAgICAgICAvLyBOT1RFOiBUaGlzIGlzIGVxdWl2YWxlbnQgdG9cbiAgICAgICAgLy8gICBjYXB0dXJlcyA9IHJlc3VsdC5zbGljZSgxKS5tYXAobWF5YmVUb1N0cmluZylcbiAgICAgICAgLy8gYnV0IGZvciBzb21lIHJlYXNvbiBgbmF0aXZlU2xpY2UuY2FsbChyZXN1bHQsIDEsIHJlc3VsdC5sZW5ndGgpYCAoY2FsbGVkIGluXG4gICAgICAgIC8vIHRoZSBzbGljZSBwb2x5ZmlsbCB3aGVuIHNsaWNpbmcgbmF0aXZlIGFycmF5cykgXCJkb2Vzbid0IHdvcmtcIiBpbiBzYWZhcmkgOSBhbmRcbiAgICAgICAgLy8gY2F1c2VzIGEgY3Jhc2ggKGh0dHBzOi8vcGFzdGViaW4uY29tL04yMVF6ZVFBKSB3aGVuIHRyeWluZyB0byBkZWJ1ZyBpdC5cbiAgICAgICAgZm9yICh2YXIgaiA9IDE7IGogPCByZXN1bHQubGVuZ3RoOyBqKyspIGNhcHR1cmVzLnB1c2gobWF5YmVUb1N0cmluZyhyZXN1bHRbal0pKTtcbiAgICAgICAgdmFyIG5hbWVkQ2FwdHVyZXMgPSByZXN1bHQuZ3JvdXBzO1xuICAgICAgICBpZiAoZnVuY3Rpb25hbFJlcGxhY2UpIHtcbiAgICAgICAgICB2YXIgcmVwbGFjZXJBcmdzID0gW21hdGNoZWRdLmNvbmNhdChjYXB0dXJlcywgcG9zaXRpb24sIFMpO1xuICAgICAgICAgIGlmIChuYW1lZENhcHR1cmVzICE9PSB1bmRlZmluZWQpIHJlcGxhY2VyQXJncy5wdXNoKG5hbWVkQ2FwdHVyZXMpO1xuICAgICAgICAgIHZhciByZXBsYWNlbWVudCA9IFN0cmluZyhyZXBsYWNlVmFsdWUuYXBwbHkodW5kZWZpbmVkLCByZXBsYWNlckFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXBsYWNlbWVudCA9IGdldFN1YnN0aXR1dGlvbihtYXRjaGVkLCBTLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvc2l0aW9uID49IG5leHRTb3VyY2VQb3NpdGlvbikge1xuICAgICAgICAgIGFjY3VtdWxhdGVkUmVzdWx0ICs9IFMuc2xpY2UobmV4dFNvdXJjZVBvc2l0aW9uLCBwb3NpdGlvbikgKyByZXBsYWNlbWVudDtcbiAgICAgICAgICBuZXh0U291cmNlUG9zaXRpb24gPSBwb3NpdGlvbiArIG1hdGNoZWQubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjdW11bGF0ZWRSZXN1bHQgKyBTLnNsaWNlKG5leHRTb3VyY2VQb3NpdGlvbik7XG4gICAgfVxuICBdO1xufSk7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwic291cmNlUm9vdCI6IiJ9
|