/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/example.ts"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/example.ts": /*!************************!*\ !*** ./src/example.ts ***! \************************/ /*! no exports provided */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _vCarousel_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vCarousel.ts */ "./src/vCarousel.ts"); /// Exemple d'utilisation de vCarousel avec 3 vidéos // Fournir ici la liste de contenants (div, figure...) des vidéos à faire défiler // L'ordre est celui de défilement et peut être différent de celui de la page HTML // La même vidéo peut même être listé plusieurs fois... // La première entrée correspondant à la vidéo affichée au premier chargement de la page var videosContainers = ["vFunanbule", "vForgeron", "vCircuit"]; try { Object(_vCarousel_ts__WEBPACK_IMPORTED_MODULE_0__["vCarousel"])(videosContainers); } catch (e) { console.error(e); } /***/ }), /***/ "./src/vCarousel.ts": /*!**************************!*\ !*** ./src/vCarousel.ts ***! \**************************/ /*! exports provided: vCarousel */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vCarousel", function() { return vCarousel; }); /// La fonction reçoit un tableau d'ids de conteneurs contenant les vidéos à afficher successivement /// Attention : les vidéos à afficher ne sont pas dédoublonnées, car on peut souhaiter afficher plusieurs fois la même vidéo durant un tour du carrousel var vCarousel = function (vContainers) { // On commence par vérifier que les ids de conteneurs fournis sont correctes var realVContainers = []; for (var _i = 0, vContainers_1 = vContainers; _i < vContainers_1.length; _i++) { var container = vContainers_1[_i]; var checkContainerExist = document.getElementById(container); if (checkContainerExist === null) // utiliser fonctionner empty() de wikilerni ? console.error("Aucun élément HTML trouvé dans la page pour l'id " + container); else { var checkVideoExist = document.querySelector("#" + container + " video"); // tester avec + plusieurs vidéos dans le conteneur if (checkVideoExist === null) console.error("Aucune balise vidéo trouvée dans l'élément HTML ayant comme id " + container); else realVContainers.push({ idContainer: container, containerElt: checkContainerExist, videoElt: checkVideoExist }); } } var nbContainers = realVContainers.length; if (nbContainers < 2) console.error("Il faut fournir au moins deux conteneurs valides pour faire tourner le carrousel."); else { var _loop_1 = function (i) { var container = realVContainers[i].containerElt; var video = realVContainers[i].videoElt; if (i !== 0) container.style.display = "none"; video.addEventListener("ended", function () { container.style.display = "none"; var nextContainer; if (i < (nbContainers - 1)) nextContainer = realVContainers[i + 1].containerElt; else nextContainer = realVContainers[0].containerElt; nextContainer.style.display = "block"; }); }; for (var i = 0; i < nbContainers; i++) { _loop_1(i); } } }; /***/ }) /******/ }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4YW1wbGUudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3ZDYXJvdXNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO1FBQUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7OztRQUdBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwwQ0FBMEMsZ0NBQWdDO1FBQzFFO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0Esd0RBQXdELGtCQUFrQjtRQUMxRTtRQUNBLGlEQUFpRCxjQUFjO1FBQy9EOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSx5Q0FBeUMsaUNBQWlDO1FBQzFFLGdIQUFnSCxtQkFBbUIsRUFBRTtRQUNySTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDJCQUEyQiwwQkFBMEIsRUFBRTtRQUN2RCxpQ0FBaUMsZUFBZTtRQUNoRDtRQUNBO1FBQ0E7O1FBRUE7UUFDQSxzREFBc0QsK0RBQStEOztRQUVySDtRQUNBOzs7UUFHQTtRQUNBOzs7Ozs7Ozs7Ozs7O0FDbEZBO0FBQUE7QUFBQTtBQUMyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLCtEQUFTO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNaQTtBQUFBO0FBQUE7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLGlEQUFpRCwyQkFBMkI7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFGQUFxRjtBQUNyRjtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsdUZBQXVGO0FBQzdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsdUJBQXVCLGtCQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL0pTL2V4YW1wbGUuYXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9zcmMvZXhhbXBsZS50c1wiKTtcbiIsIi8vLyBFeGVtcGxlIGQndXRpbGlzYXRpb24gZGUgdkNhcm91c2VsIGF2ZWMgMyB2aWTDqW9zXG5pbXBvcnQgeyB2Q2Fyb3VzZWwgfSBmcm9tIFwiLi92Q2Fyb3VzZWwudHNcIjtcbi8vIEZvdXJuaXIgaWNpIGxhIGxpc3RlIGRlIGNvbnRlbmFudHMgKGRpdiwgZmlndXJlLi4uKSBkZXMgdmlkw6lvcyDDoCBmYWlyZSBkw6lmaWxlclxuLy8gTCdvcmRyZSBlc3QgY2VsdWkgZGUgZMOpZmlsZW1lbnQgZXQgcGV1dCDDqnRyZSBkaWZmw6lyZW50IGRlIGNlbHVpIGRlIGxhIHBhZ2UgSFRNTFxuLy8gTGEgbcOqbWUgdmlkw6lvIHBldXQgbcOqbWUgw6p0cmUgbGlzdMOpIHBsdXNpZXVycyBmb2lzLi4uXG4vLyBMYSBwcmVtacOocmUgZW50csOpZSBjb3JyZXNwb25kYW50IMOgIGxhIHZpZMOpbyBhZmZpY2jDqWUgYXUgcHJlbWllciBjaGFyZ2VtZW50IGRlIGxhIHBhZ2VcbnZhciB2aWRlb3NDb250YWluZXJzID0gW1widkZ1bmFuYnVsZVwiLCBcInZGb3JnZXJvblwiLCBcInZDaXJjdWl0XCJdO1xudHJ5IHtcbiAgICB2Q2Fyb3VzZWwodmlkZW9zQ29udGFpbmVycyk7XG59XG5jYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG59XG4iLCIvLy8gTGEgZm9uY3Rpb24gcmXDp29pdCB1biB0YWJsZWF1IGQnaWRzIGRlIGNvbnRlbmV1cnMgY29udGVuYW50IGxlcyB2aWTDqW9zIMOgIGFmZmljaGVyIHN1Y2Nlc3NpdmVtZW50XG4vLy8gQXR0ZW50aW9uIDogbGVzIHZpZMOpb3Mgw6AgYWZmaWNoZXIgbmUgc29udCBwYXMgZMOpZG91Ymxvbm7DqWVzLCBjYXIgb24gcGV1dCBzb3VoYWl0ZXIgYWZmaWNoZXIgcGx1c2lldXJzIGZvaXMgbGEgbcOqbWUgdmlkw6lvIGR1cmFudCB1biB0b3VyIGR1IGNhcnJvdXNlbFxuZXhwb3J0IHZhciB2Q2Fyb3VzZWwgPSBmdW5jdGlvbiAodkNvbnRhaW5lcnMpIHtcbiAgICAvLyBPbiBjb21tZW5jZSBwYXIgdsOpcmlmaWVyIHF1ZSBsZXMgaWRzIGRlIGNvbnRlbmV1cnMgZm91cm5pcyBzb250IGNvcnJlY3Rlc1xuICAgIHZhciByZWFsVkNvbnRhaW5lcnMgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDAsIHZDb250YWluZXJzXzEgPSB2Q29udGFpbmVyczsgX2kgPCB2Q29udGFpbmVyc18xLmxlbmd0aDsgX2krKykge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gdkNvbnRhaW5lcnNfMVtfaV07XG4gICAgICAgIHZhciBjaGVja0NvbnRhaW5lckV4aXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVyKTtcbiAgICAgICAgaWYgKGNoZWNrQ29udGFpbmVyRXhpc3QgPT09IG51bGwpIC8vIHV0aWxpc2VyIGZvbmN0aW9ubmVyIGVtcHR5KCkgZGUgd2lraWxlcm5pID9cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdWN1biDDqWzDqW1lbnQgSFRNTCB0cm91dsOpIGRhbnMgbGEgcGFnZSBwb3VyIGwnaWQgXCIgKyBjb250YWluZXIpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjaGVja1ZpZGVvRXhpc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI1wiICsgY29udGFpbmVyICsgXCIgdmlkZW9cIik7IC8vIHRlc3RlciBhdmVjICsgcGx1c2lldXJzIHZpZMOpb3MgZGFucyBsZSBjb250ZW5ldXJcbiAgICAgICAgICAgIGlmIChjaGVja1ZpZGVvRXhpc3QgPT09IG51bGwpXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkF1Y3VuZSBiYWxpc2Ugdmlkw6lvIHRyb3V2w6llIGRhbnMgbCfDqWzDqW1lbnQgSFRNTCBheWFudCBjb21tZSBpZCBcIiArIGNvbnRhaW5lcik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcmVhbFZDb250YWluZXJzLnB1c2goeyBpZENvbnRhaW5lcjogY29udGFpbmVyLCBjb250YWluZXJFbHQ6IGNoZWNrQ29udGFpbmVyRXhpc3QsIHZpZGVvRWx0OiBjaGVja1ZpZGVvRXhpc3QgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIG5iQ29udGFpbmVycyA9IHJlYWxWQ29udGFpbmVycy5sZW5ndGg7XG4gICAgaWYgKG5iQ29udGFpbmVycyA8IDIpXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbCBmYXV0IGZvdXJuaXIgYXUgbW9pbnMgZGV1eCBjb250ZW5ldXJzIHZhbGlkZXMgcG91ciBmYWlyZSB0b3VybmVyIGxlIGNhcnJvdXNlbC5cIik7XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICAgIHZhciBjb250YWluZXIgPSByZWFsVkNvbnRhaW5lcnNbaV0uY29udGFpbmVyRWx0O1xuICAgICAgICAgICAgdmFyIHZpZGVvID0gcmVhbFZDb250YWluZXJzW2ldLnZpZGVvRWx0O1xuICAgICAgICAgICAgaWYgKGkgIT09IDApXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoXCJlbmRlZFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgICAgICAgICAgICB2YXIgbmV4dENvbnRhaW5lcjtcbiAgICAgICAgICAgICAgICBpZiAoaSA8IChuYkNvbnRhaW5lcnMgLSAxKSlcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbnRhaW5lciA9IHJlYWxWQ29udGFpbmVyc1tpICsgMV0uY29udGFpbmVyRWx0O1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgbmV4dENvbnRhaW5lciA9IHJlYWxWQ29udGFpbmVyc1swXS5jb250YWluZXJFbHQ7XG4gICAgICAgICAgICAgICAgbmV4dENvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmJDb250YWluZXJzOyBpKyspIHtcbiAgICAgICAgICAgIF9sb29wXzEoaSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==