<?php

use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;

/* @public_path/build/carto.js */
class __TwigTemplate_3474e066f4984a964b98f1328263de154188a95d3c7362a9db0592722f8b6ff3 extends Template
{
    private $source;
    private $macros = [];

    public function __construct(Environment $env)
    {
        parent::__construct($env);

        $this->source = $this->getSourceContext();

        $this->parent = false;

        $this->blocks = [
        ];
    }

    protected function doDisplay(array $context, array $blocks = [])
    {
        $macros = $this->macros;
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@public_path/build/carto.js"));

        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@public_path/build/carto.js"));

        yield "(self[\"webpackChunk\"] = self[\"webpackChunk\"] || []).push([[\"carto\"],{

/***/ \"./assets/images/legende.png\":
/*!***********************************!*\\
  !*** ./assets/images/legende.png ***!
  \\***********************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/legende.56e89d5f.png\";

/***/ }),

/***/ \"./assets/images/punaise-white.png\":
/*!*****************************************!*\\
  !*** ./assets/images/punaise-white.png ***!
  \\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/punaise-white.fbd71a1e.png\";

/***/ }),

/***/ \"./assets/js/cartographie.js\":
/*!***********************************!*\\
  !*** ./assets/js/cartographie.js ***!
  \\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

\"use strict\";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");
/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ \"./node_modules/core-js/modules/es.object.set-prototype-of.js\");
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ \"./node_modules/core-js/modules/es.object.get-prototype-of.js\");
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__ = __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_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");
/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");
/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");
/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17__);
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18__);
/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");
/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__);
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ \"./node_modules/core-js/modules/es.parse-int.js\");
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__);
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21__);
/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");
/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.date.to-iso-string.js */ \"./node_modules/core-js/modules/es.date.to-iso-string.js\");
/* harmony import */ var core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25__);
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ \"./node_modules/core-js/modules/es.reflect.construct.js\");
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26__);
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ \"./node_modules/core-js/modules/es.object.create.js\");
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27__);
/* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.is-array.js */ \"./node_modules/core-js/modules/es.array.is-array.js\");
/* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28__);
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29__);
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30__);
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31__);
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32__);
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33__);
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ \"./node_modules/core-js/modules/es.object.define-property.js\");
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34__);
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptors.js\");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37__);
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! core-js/modules/es.object.define-properties.js */ \"./node_modules/core-js/modules/es.object.define-properties.js\");
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38__);
/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./map */ \"./assets/js/map.js\");
/* harmony import */ var ol_control_Control__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ol/control/Control */ \"./node_modules/ol/control/Control.js\");
/* harmony import */ var _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../images/punaise.png */ \"./assets/images/punaise.png\");
/* harmony import */ var _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../images/punaise-red.png */ \"./assets/images/punaise-red.png\");
/* harmony import */ var _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../images/punaise-green.png */ \"./assets/images/punaise-green.png\");
/* harmony import */ var _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../images/punaise-blue.png */ \"./assets/images/punaise-blue.png\");
/* harmony import */ var _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../images/punaise-white.png */ \"./assets/images/punaise-white.png\");
/* harmony import */ var _images_legende_png__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../images/legende.png */ \"./assets/images/legende.png\");
/* harmony import */ var ol_proj__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ol/proj */ \"./node_modules/ol/proj.js\");
/* harmony import */ var ol__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ol */ \"./node_modules/ol/Feature.js\");
/* harmony import */ var ol_geom__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ol/geom */ \"./node_modules/ol/geom/LineString.js\");
/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Style.js\");
/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Stroke.js\");
/* provided dependency */ var \$ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");
function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }

function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array\$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }









































function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }



 //images











 // Ajout du contrôle OpenLayers

var legendItems = {
  \"Domicile du technicien\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.home.unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.home.font,
    color: 'white',
    img: _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__,
    pos: 1
  },
  \"Dernière position connue du technicien\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.tech.unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.tech.font,
    color: 'white',
    img: _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__,
    pos: 1
  },
  \"Journée\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_41__,
    pos: 2
  },
  \"Matin\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_42__,
    pos: 2
  },
  \"Après-midi\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_43__,
    pos: 2
  },
  \"En attente\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[0].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[0].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"Reçu sur la tablette\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[1].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[1].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"En cours\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[2].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[2].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"Terminée\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[3].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[3].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  }
};

var LegendControl = /*#__PURE__*/function (_Control) {
  _inherits(LegendControl, _Control);

  var _super = _createSuper(LegendControl);

  function LegendControl(legendData) {
    _classCallCheck(this, LegendControl);

    var element = document.createElement('div');
    element.className = 'legend ol-control'; // Création du bouton pour ouvrir la légende

    var link = document.createElement('a');
    link.innerHTML = '<img src=\"' + _images_legende_png__WEBPACK_IMPORTED_MODULE_45__ + '\" alt=\"Légende\">';
    link.setAttribute('data-popup-id', 'popup-carto-legende');
    link.setAttribute('data-popup-title', 'Légende');
    link.setAttribute('data-popup-width', 'auto');
    link.setAttribute('data-dxpopup', '');
    element.appendChild(link);
    var legendTechContainer = document.getElementById('legend-container-tech');
    var legendIntervContainer = document.getElementById('legend-container-interv');
    legendTechContainer.innerHTML = '';
    legendIntervContainer.innerHTML = '';
    var groupedItems = {};
    Object.entries(legendItems).forEach(function (_ref) {
      var _ref2 = _slicedToArray(_ref, 2),
          key = _ref2[0],
          value = _ref2[1];

      if (!groupedItems[value.pos]) {
        groupedItems[value.pos] = [];
      }

      groupedItems[value.pos].push(_objectSpread({
        key: key
      }, value));
    }); // Générer les lignes du tableau

    Object.values(groupedItems).forEach(function (items, index) {
      var row = document.createElement(\"tr\");
      items.forEach(function (item) {
        // Création de la cellule qui contiendra l'icône et le texte
        var cell = document.createElement(\"td\"); // Création du conteneur pour aligner proprement l'icône et le texte

        var container = document.createElement(\"div\");
        container.classList.add(\"me-2\", \"mb-2\");
        container.style.display = \"flex\";
        container.style.alignItems = \"center\";
        container.style.gap = \"8px\"; // Espacement entre l'icône et le texte
        // Création de l'icône (Image après génération)

        var imgElement = new Image();
        imgElement.width = 24;
        imgElement.height = 32; // Génération de l'icône personnalisée et affectation à l'image

        (0,_map__WEBPACK_IMPORTED_MODULE_39__.createCustomIcon)(item.text, item.unicode, item.font, item.img, item.color, function (iconUrl) {
          imgElement.src = iconUrl;
        }); // Création de l'élément texte

        var textElement = document.createElement(\"span\");
        textElement.textContent = item.key; // Ajout des éléments dans le container

        container.appendChild(imgElement);
        container.appendChild(textElement); // Ajout du container dans la cellule

        cell.appendChild(container); // Ajout de la cellule dans la ligne

        row.appendChild(cell);
      }); // Ajout de la ligne dans la bonne section

      if (items[0].pos === 1) {
        legendTechContainer.appendChild(row);
      } else {
        legendIntervContainer.appendChild(row);
      }
    });
    return _super.call(this, {
      element: element
    });
  }

  return LegendControl;
}(ol_control_Control__WEBPACK_IMPORTED_MODULE_47__.default);

\$(document).ready(function () {
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addControl(new LegendControl());
  var mapContainer = \$('#map'); // Récupère l'élément contenant la carte

  /*redimensionnement carte*/

  \$(window).resize(function () {
    var height = 148;
    height += \$('#etiquettes').outerHeight(true);
    var sH = \$(window).height() - height;
    mapContainer.css({
      'height': sH + 'px',
      'max-height': sH + 'px' // Empêcher le dépassement

    });
  });
  \$(window).trigger('resize');
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_39__.overlayRdv);
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_39__.overlayGps);
  (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, true);
  _map__WEBPACK_IMPORTED_MODULE_39__.map.on('singleclick', function (event) {
    (0,_map__WEBPACK_IMPORTED_MODULE_39__.onSingleClickFeature)(event);
  }); // Initialisation des événements du formulaire

  \$(\"#reset-form-carto\").on(\"click\", function (event) {
    event.preventDefault();
    filterCarto('reset');
  });
  \$(\"#submit-form-carto\").on(\"click\", function (event) {
    event.preventDefault();
    filterCarto('submit');
  });
  \$('select').on('change', function (event) {
    filterCarto('site');
  }); // Initialisation des dropdowns

  \$(\".dropdown-container\").each(function () {
    var \$container = \$(this);
    var \$dropdownButton = \$container.find(\".dropdown-button\");
    var \$dropdownContent = \$container.find(\".dropdown-content\");
    var \$hiddenInput = \$container.find(\".selected-options\"); // Sauvegarde du texte par défaut du bouton

    \$dropdownButton.data(\"defaultText\", \$dropdownButton.text());
    \$dropdownButton.on(\"click\", function (event) {
      \$(\".dropdown-content\").not(\$dropdownContent).hide();
      \$dropdownContent.toggle();
      event.stopPropagation();
    });
    \$(document).on(\"click\", function (event) {
      if (!\$container.is(event.target) && \$container.has(event.target).length === 0) {
        \$dropdownContent.hide();
      }
    }); //Attacher un événement à la dropdown-content au lieu de chaque checkbox

    \$dropdownContent.on(\"change\", function (event) {
      if (\$(event.target).hasClass(\"checkbox-option\")) {
        var selectedValues = [];
        var selectedLabels = [];
        var nameHiddenInput = \$hiddenInput.attr('name').match(/selected_options_(\\w+)/); // Récupérer toutes les cases cochées

        \$dropdownContent.find(\".checkbox-option:checked\").each(function () {
          selectedValues.push(\$(this).val());
          selectedLabels.push(\$(this).parent().text().trim());
        }); // Si c'est un filtre agent, on fusionne avec l'historique mais on enlève les éléments décochés

        if (nameHiddenInput && nameHiddenInput[1] === 'agents') {
          var existingValues = \$hiddenInput.val() ? \$hiddenInput.val().split(\",\") : [];

          if (!\$(event.target).is(':checked')) {
            existingValues = existingValues.filter(function (val) {
              return val !== \$(event.target).val();
            });
          } // Fusionner sans doublons


          selectedValues = _toConsumableArray(new Set([].concat(_toConsumableArray(existingValues), _toConsumableArray(selectedValues))));
        } // Mise à jour du champ caché


        \$hiddenInput.val(selectedValues.join(\",\")); // Mise à jour du texte du bouton

        var listLabel = \$dropdownButton.data(\"defaultText\").replace(\"Sélectionnez des \", \"\").trim();
        var text = \$dropdownButton.data(\"defaultText\"); // Texte par défaut

        if (selectedLabels.length === 1) {
          text = selectedLabels[0]; // Un seul élément sélectionné
        } else if (selectedLabels.length > 1) {
          text = \"\".concat(selectedLabels.length, \" \").concat(listLabel, \" s\\xE9lectionn\\xE9s\"); // Plusieurs éléments
        }

        \$dropdownButton.text(text); // Si c'est pour les groupes, appliquer le filtre

        if (nameHiddenInput && nameHiddenInput[1] === 'groupes') {
          filterCarto(nameHiddenInput[1]);
        }
      }
    });
  }); // Gestion de l'événement pour .remove-etiquette

  \$(document).on(\"click\", \".remove-etiquette\", function (event) {
    var etiquetteId = \$(this).data(\"id\");
    var agentId = parseInt(\$(this).data(\"agent\"));
    var \$etiquetteElement = \$(\"#\" + etiquetteId);

    if (\$etiquetteElement.length) {
      var \$hiddenInput = \$(\"[name='selected_options_agents']\");
      var selectedAgents = \$hiddenInput.val().split(\",\").map(Number); // Supprime l'agent de la liste

      selectedAgents = selectedAgents.filter(function (id) {
        return id !== agentId;
      });
      \$hiddenInput.val(selectedAgents.join(\",\")); // Décocher la case correspondante dans la liste déroulante

      var \$checkbox = \$(\"#dropdown-content-agents input[value=\\\"\".concat(agentId, \"\\\"]\"));
      \$checkbox.prop('checked', false); // Mettre à jour le texte du bouton

      var \$dropdownButton = \$checkbox.closest('.dropdown-container').find('.dropdown-button');
      var listLabel = \$dropdownButton.data(\"defaultText\").replace(\"Sélectionnez des \", \"\").trim();
      var text = '';

      if (selectedAgents.length === 1) {
        text = \$checkbox.closest('.dropdown-container').find(\".checkbox-option[value=\\\"\".concat(selectedAgents[0], \"\\\"]\")).parent().text().trim();
      } else if (selectedAgents.length > 1) {
        text = \"\".concat(selectedAgents.length, \" \").concat(listLabel, \" s\\xE9lectionn\\xE9s\");
      } else {
        text = \$dropdownButton.data(\"defaultText\"); // Texte par défaut
        // Si plus aucun agent n'est sélectionné, on relance le filtre

        filterCarto(\"submit\", true);
      }

      \$dropdownButton.text(text); // Si des agents sont encore sélectionnés, on supprime uniquement les marqueurs de l'agent retiré

      if (selectedAgents.length > 0) {
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.removeFeaturesByDataValue)('agentId', agentId); // Supprimer l'étiquette du DOM

        \$etiquetteElement.remove();
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.fitMapToFeatures)();
      }
    }
  }); // Gestion de l'événement pour .gps

  \$(document).on(\"click\", \".gps\", function (event) {
    \$(this).toggleClass(\"active-gps\");
    var agentId = parseInt(\$(this).data(\"agent\"));
    var gpsAgentId = 'gps_' + agentId;

    if (\$(this).hasClass(\"active-gps\")) {
      \$.ajax({
        method: \"POST\",
        url: '/map/gps',
        data: {
          \"agent\": agentId,
          \"date\": \$(this).data(\"date\")
        },
        dataType: \"json\",
        success: function success(data) {
          //fermeture des popups
          (0,_map__WEBPACK_IMPORTED_MODULE_39__.hideAllOverlay)(); //positionner les puces gps

          var coordsProjetees = []; // Pour stocker les coordonnées transformées

          var featuresAjoutees = 0;
          data.forEach(function (point, index) {
            var coord = [point.longitude, point.latitude];
            var datas = {
              agent: \"Agent \".concat(point.utilisateur_agent.code_agent),
              date_heure: (0,_map__WEBPACK_IMPORTED_MODULE_39__.formatDate)(point.date_heure),
              type: 'gps',
              gpsAgentId: gpsAgentId,
              agentId: agentId
            };
            var text = point.utilisateur_agent.code_agent;
            var punaise = 'gps';
            (0,_map__WEBPACK_IMPORTED_MODULE_39__.addMarker)(coord, text, '', punaise, '#2C3E50', datas, function () {
              coordsProjetees[index] = (0,ol_proj__WEBPACK_IMPORTED_MODULE_46__.fromLonLat)(coord); // Assure l'ordre

              featuresAjoutees++; // Une fois tous les markers ajoutés, on trace la ligne

              if (featuresAjoutees === data.length) {
                var lineFeature = new ol__WEBPACK_IMPORTED_MODULE_48__.default({
                  geometry: new ol_geom__WEBPACK_IMPORTED_MODULE_49__.default(coordsProjetees)
                });
                lineFeature.set('datas', datas);
                lineFeature.setStyle(new ol_style__WEBPACK_IMPORTED_MODULE_50__.default({
                  stroke: new ol_style__WEBPACK_IMPORTED_MODULE_51__.default({
                    color: '#2C3E50',
                    width: 1
                  })
                }));
                _map__WEBPACK_IMPORTED_MODULE_39__.vectorSource.addFeature(lineFeature);
                (0,_map__WEBPACK_IMPORTED_MODULE_39__.fitMapToFeatures)();
              }
            });
          });
        }
      });
    } else {
      (0,_map__WEBPACK_IMPORTED_MODULE_39__.removeFeaturesByDataValue)('gpsAgentId', gpsAgentId);
    }
  });
});

function filterCarto(name) {
  var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  var form = document.getElementById('form_carto');
  var formData = new FormData(form);
  \$.ajax({
    method: \"POST\",
    url: '/map/filter_carto',
    data: {
      \"name\": name,
      \"site\": formData.get('site'),
      \"groupes\": formData.get('selected_options_groupes').split(',').map(Number),
      \"agents\": formData.get('selected_options_agents').split(',').map(Number),
      \"date\": formData.get('date_tournee')
    },
    dataType: \"json\",
    success: function success(data) {
      if (name === 'reset') {
        init = true;
      }

      if (name === 'reset') {
        document.querySelector('#etiquettes').innerHTML = data.etiquettes;
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, init);

        if (data.groupes) {
          initList('groupes', data.groupes, 'typeNom');
        }

        if (data.agents) {
          initList('agents', data.agents, 'codeNom');
        }

        document.getElementsByName(\"date_tournee\")[0].value = new Date().toISOString().split('T')[0]; // 🆕 Réinitialiser les checkboxes et labels

        document.querySelectorAll(\".checkbox-option\").forEach(function (cb) {
          return cb.checked = false;
        });
        document.querySelectorAll(\".selected-options\").forEach(function (input) {
          return input.value = \"\";
        });
        document.querySelectorAll(\".dropdown-button\").forEach(function (button) {
          button.textContent = button.dataset.defaultText; // Remet le texte par défaut
        }); // removeFeatures();
        // fitMapToFeatures(); //reset pos carte
      }

      if (data.interventions) {
        document.querySelector('#etiquettes').innerHTML = data.etiquettes;
        document.querySelector('#selected_etiquettes').value = formData.get('selected_options_agents');
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, init);
      } else {
        if (data.groupes) {
          initList('groupes', data.groupes, 'typeNom');
        }

        if (data.agents) {
          initList('agents', data.agents, 'codeNom');
        }
      }

      \$(window).trigger('resize');
    }
  });
}

function initList(nomList, dataList, libelle) {
  var list = document.getElementById(\"dropdown-content-\".concat(nomList)); // Réinitialiser le contenu de la liste

  list.innerHTML = ''; // Remplir la liste avec les nouveaux agents

  dataList.forEach(function (data) {
    var label = document.createElement('label');
    var checkbox = document.createElement('input');
    checkbox.type = 'checkbox';
    checkbox.name = \"options_\".concat(nomList, \"[]\");
    checkbox.value = data.id;
    checkbox.classList.add('checkbox-option');
    label.appendChild(checkbox);
    var labelText = data[libelle];
    label.appendChild(document.createTextNode(labelText));
    list.appendChild(label);
  });
}

/***/ })

},
/******/ __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_engine-user-agent_js-node_modules_core-js_internals_ex-b41e05\",\"vendors-node_modules_jquery_dist_jquery_js\",\"vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_a-5c631b\",\"vendors-node_modules_core-js_internals_array-method-has-species-support_js-node_modules_core--4e4faa\",\"vendors-node_modules_core-js_internals_function-bind_js-node_modules_core-js_modules_es_array-1797b9\",\"vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-b69ea3\",\"vendors-node_modules_core-js_modules_es_array_find_js-node_modules_core-js_modules_es_array_f-0faae7\",\"assets_js_map_js\"], () => (__webpack_exec__(\"./assets/js/cartographie.js\")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY2FydG9ncmFwaGllLmpzIl0sIm5hbWVzIjpbImxlZ2VuZEl0ZW1zIiwidGV4dCIsInVuaWNvZGUiLCJwdW5haXNlUGljdG8iLCJmb250IiwiY29sb3IiLCJpbWciLCJwdW5haXNlRGVmYXVsdEltZyIsInBvcyIsInB1bmFpc2VSZWRJbWciLCJwdW5haXNlR3JlZW5JbWciLCJwdW5haXNlQmx1ZUltZyIsInB1bmFpc2VXaGl0ZUltZyIsIkxlZ2VuZENvbnRyb2wiLCJsZWdlbmREYXRhIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImxpbmsiLCJpbm5lckhUTUwiLCJsZWdlbmRlIiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiLCJsZWdlbmRUZWNoQ29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJsZWdlbmRJbnRlcnZDb250YWluZXIiLCJncm91cGVkSXRlbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImtleSIsInZhbHVlIiwicHVzaCIsInZhbHVlcyIsIml0ZW1zIiwiaW5kZXgiLCJyb3ciLCJpdGVtIiwiY2VsbCIsImNvbnRhaW5lciIsImNsYXNzTGlzdCIsImFkZCIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJpbWdFbGVtZW50IiwiSW1hZ2UiLCJ3aWR0aCIsImhlaWdodCIsImNyZWF0ZUN1c3RvbUljb24iLCJpY29uVXJsIiwic3JjIiwidGV4dEVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsIkNvbnRyb2wiLCIkIiwicmVhZHkiLCJtYXAiLCJtYXBDb250YWluZXIiLCJ3aW5kb3ciLCJyZXNpemUiLCJvdXRlckhlaWdodCIsInNIIiwiY3NzIiwidHJpZ2dlciIsIm92ZXJsYXlSZHYiLCJvdmVybGF5R3BzIiwicHVuYWlzZXMiLCJkYXRhIiwiZXZlbnQiLCJvblNpbmdsZUNsaWNrRmVhdHVyZSIsIm9uIiwicHJldmVudERlZmF1bHQiLCJmaWx0ZXJDYXJ0byIsImVhY2giLCIkY29udGFpbmVyIiwiJGRyb3Bkb3duQnV0dG9uIiwiZmluZCIsIiRkcm9wZG93bkNvbnRlbnQiLCIkaGlkZGVuSW5wdXQiLCJub3QiLCJoaWRlIiwidG9nZ2xlIiwic3RvcFByb3BhZ2F0aW9uIiwiaXMiLCJ0YXJnZXQiLCJoYXMiLCJsZW5ndGgiLCJoYXNDbGFzcyIsInNlbGVjdGVkVmFsdWVzIiwic2VsZWN0ZWRMYWJlbHMiLCJuYW1lSGlkZGVuSW5wdXQiLCJhdHRyIiwibWF0Y2giLCJ2YWwiLCJwYXJlbnQiLCJ0cmltIiwiZXhpc3RpbmdWYWx1ZXMiLCJzcGxpdCIsImZpbHRlciIsIlNldCIsImpvaW4iLCJsaXN0TGFiZWwiLCJyZXBsYWNlIiwiZXRpcXVldHRlSWQiLCJhZ2VudElkIiwicGFyc2VJbnQiLCIkZXRpcXVldHRlRWxlbWVudCIsInNlbGVjdGVkQWdlbnRzIiwiTnVtYmVyIiwiaWQiLCIkY2hlY2tib3giLCJwcm9wIiwiY2xvc2VzdCIsInJlbW92ZUZlYXR1cmVzQnlEYXRhVmFsdWUiLCJyZW1vdmUiLCJmaXRNYXBUb0ZlYXR1cmVzIiwidG9nZ2xlQ2xhc3MiLCJncHNBZ2VudElkIiwiYWpheCIsIm1ldGhvZCIsInVybCIsImRhdGFUeXBlIiwic3VjY2VzcyIsImhpZGVBbGxPdmVybGF5IiwiY29vcmRzUHJvamV0ZWVzIiwiZmVhdHVyZXNBam91dGVlcyIsInBvaW50IiwiY29vcmQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsImRhdGFzIiwiYWdlbnQiLCJ1dGlsaXNhdGV1cl9hZ2VudCIsImNvZGVfYWdlbnQiLCJkYXRlX2hldXJlIiwiZm9ybWF0RGF0ZSIsInR5cGUiLCJwdW5haXNlIiwiYWRkTWFya2VyIiwiZnJvbUxvbkxhdCIsImxpbmVGZWF0dXJlIiwiRmVhdHVyZSIsImdlb21ldHJ5IiwiTGluZVN0cmluZyIsInNldCIsInNldFN0eWxlIiwiU3R5bGUiLCJzdHJva2UiLCJTdHJva2UiLCJ2ZWN0b3JTb3VyY2UiLCJuYW1lIiwiaW5pdCIsImZvcm0iLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiZ2V0IiwicXVlcnlTZWxlY3RvciIsImV0aXF1ZXR0ZXMiLCJncm91cGVzIiwiaW5pdExpc3QiLCJhZ2VudHMiLCJnZXRFbGVtZW50c0J5TmFtZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjYiIsImNoZWNrZWQiLCJpbnB1dCIsImJ1dHRvbiIsImRhdGFzZXQiLCJkZWZhdWx0VGV4dCIsImludGVydmVudGlvbnMiLCJub21MaXN0IiwiZGF0YUxpc3QiLCJsaWJlbGxlIiwibGlzdCIsImxhYmVsIiwiY2hlY2tib3giLCJsYWJlbFRleHQiLCJjcmVhdGVUZXh0Tm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBV0E7Q0FHQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBLElBQU1BLFdBQVcsR0FBRztBQUNoQiw0QkFBMEI7QUFBRUMsUUFBSSxFQUFFLEdBQVI7QUFBYUMsV0FBTyxFQUFFQyw0REFBdEI7QUFBb0RDLFFBQUksRUFBRUQseURBQTFEO0FBQXFGRSxTQUFLLEVBQUUsT0FBNUY7QUFBcUdDLE9BQUcsRUFBRUMsaURBQTFHO0FBQTZIQyxPQUFHLEVBQUU7QUFBbEksR0FEVjtBQUVoQiw0Q0FBMEM7QUFBRVAsUUFBSSxFQUFFLEdBQVI7QUFBYUMsV0FBTyxFQUFFQyw0REFBdEI7QUFBb0RDLFFBQUksRUFBRUQseURBQTFEO0FBQXFGRSxTQUFLLEVBQUUsT0FBNUY7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RyxJQUFJLENBQUMyRyxPQUFELENBQXBCO0FBQ0FFLFNBQUssQ0FBQzVKLFdBQU4sQ0FBa0JQLFFBQVEsQ0FBQ3NLLGNBQVQsQ0FBd0JELFNBQXhCLENBQWxCO0FBRUFILFFBQUksQ0FBQzNKLFdBQUwsQ0FBaUI0SixLQUFqQjtBQUNILEdBZEQ7QUFlSCxDIiwiZmlsZSI6ImNhcnRvLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIGFkZE1hcmtlcixcclxuICAgIGNyZWF0ZUN1c3RvbUljb24sXHJcbiAgICBjaGFuZ2VWaWV3LFxyXG4gICAgbWFwLFxyXG4gICAgdmVjdG9yU291cmNlLFxyXG4gICAgcmVtb3ZlRmVhdHVyZXMsXHJcbiAgICBwdW5haXNlUGljdG8sXHJcbiAgICBmaXRNYXBUb0ZlYXR1cmVzLFxyXG4gICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSwgb3ZlcmxheVJkdiwgb3ZlcmxheUdwcywgb25TaW5nbGVDbGlja0ZlYXR1cmUsIGhpZGVBbGxPdmVybGF5LCBwdW5haXNlcywgZm9ybWF0RGF0ZVxyXG59IGZyb20gXCIuL21hcFwiO1xyXG5pbXBvcnQgQ29udHJvbCBmcm9tIFwib2wvY29udHJvbC9Db250cm9sXCI7XHJcbmltcG9ydCBPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xyXG5cclxuLy9pbWFnZXNcclxuaW1wb3J0IHB1bmFpc2VEZWZhdWx0SW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlUmVkSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLXJlZC5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZUdyZWVuSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLWdyZWVuLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlQmx1ZUltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1ibHVlLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlV2hpdGVJbWcgZnJvbSAnLi4vaW1hZ2VzL3B1bmFpc2Utd2hpdGUucG5nJztcclxuaW1wb3J0IGxlZ2VuZGUgZnJvbSBcIi4uL2ltYWdlcy9sZWdlbmRlLnBuZ1wiO1xyXG5pbXBvcnQge2lzTnVsbH0gZnJvbSBcIm9sL2Zvcm1hdC9maWx0ZXJcIjtcclxuaW1wb3J0IHtmcm9tTG9uTGF0fSBmcm9tIFwib2wvcHJvalwiO1xyXG5pbXBvcnQge0ZlYXR1cmV9IGZyb20gXCJvbFwiO1xyXG5pbXBvcnQge0xpbmVTdHJpbmd9IGZyb20gXCJvbC9nZW9tXCI7XHJcbmltcG9ydCB7U3Ryb2tlLCBTdHlsZX0gZnJvbSBcIm9sL3N0eWxlXCI7XHJcblxyXG4vLyBBam91dCBkdSBjb250csO0bGUgT3BlbkxheWVyc1xyXG5jb25zdCBsZWdlbmRJdGVtcyA9IHtcclxuICAgIFwiRG9taWNpbGUgZHUgdGVjaG5pY2llblwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bJ2hvbWUnXS51bmljb2RlLCBmb250OiBwdW5haXNlUGljdG9bJ2hvbWUnXS5mb250LCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlRGVmYXVsdEltZywgcG9zOiAxIH0sXHJcbiAgICBcIkRlcm5pw6hyZSBwb3NpdGlvbiBjb25udWUgZHUgdGVjaG5pY2llblwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bJ3RlY2gnXS51bmljb2RlLCBmb250OiBwdW5haXNlUGljdG9bJ3RlY2gnXS5mb250LCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlRGVmYXVsdEltZywgcG9zOiAxIH0sXHJcbiAgICBcIkpvdXJuw6llXCI6IHsgdGV4dDogXCI/XCIsIHVuaWNvZGU6IFwiP1wiLCBmb250OiAnJywgY29sb3I6ICd3aGl0ZScsIGltZzogcHVuYWlzZVJlZEltZywgcG9zOiAyIH0sXHJcbiAgICBcIk1hdGluXCI6IHsgdGV4dDogXCI/XCIsIHVuaWNvZGU6IFwiP1wiLCBmb250OiAnJywgY29sb3I6ICd3aGl0ZScsIGltZzogcHVuYWlzZUdyZWVuSW1nLCBwb3M6IDIgfSxcclxuICAgIFwiQXByw6hzLW1pZGlcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogXCI/XCIsIGZvbnQ6ICcnLCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlQmx1ZUltZywgcG9zOiAyIH0sXHJcbiAgICBcIkVuIGF0dGVudGVcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogcHVuYWlzZVBpY3RvWzBdLnVuaWNvZGUsIGZvbnQ6IHB1bmFpc2VQaWN0b1swXS5mb250LCBjb2xvcjogJ2JsYWNrJywgaW1nOiBwdW5haXNlV2hpdGVJbWcsIHBvczogMyB9LFxyXG4gICAgXCJSZcOndSBzdXIgbGEgdGFibGV0dGVcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogcHVuYWlzZVBpY3RvWzFdLnVuaWNvZGUsIGZvbnQ6IHB1bmFpc2VQaWN0b1sxXS5mb250LCBjb2xvcjogJ2JsYWNrJywgaW1nOiBwdW5haXNlV2hpdGVJbWcsIHBvczogMyB9LFxyXG4gICAgXCJFbiBjb3Vyc1wiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bMl0udW5pY29kZSwgZm9udDogcHVuYWlzZVBpY3RvWzJdLmZvbnQsIGNvbG9yOiAnYmxhY2snLCBpbWc6IHB1bmFpc2VXaGl0ZUltZywgcG9zOiAzIH0sXHJcbiAgICBcIlRlcm1pbsOpZVwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bM10udW5pY29kZSwgZm9udDogcHVuYWlzZVBpY3RvWzNdLmZvbnQsIGNvbG9yOiAnYmxhY2snLCBpbWc6IHB1bmFpc2VXaGl0ZUltZywgcG9zOiAzIH1cclxufTtcclxuXHJcbmNsYXNzIExlZ2VuZENvbnRyb2wgZXh0ZW5kcyBDb250cm9sIHtcclxuICAgIGNvbnN0cnVjdG9yKGxlZ2VuZERhdGEpIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSAnbGVnZW5kIG9sLWNvbnRyb2wnO1xyXG5cclxuICAgICAgICAvLyBDcsOpYXRpb24gZHUgYm91dG9uIHBvdXIgb3V2cmlyIGxhIGzDqWdlbmRlXHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBsaW5rLmlubmVySFRNTCA9ICc8aW1nIHNyYz1cIicrbGVnZW5kZSsnXCIgYWx0PVwiTMOpZ2VuZGVcIj4nO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkYXRhLXBvcHVwLWlkJywgJ3BvcHVwLWNhcnRvLWxlZ2VuZGUnKTtcclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZGF0YS1wb3B1cC10aXRsZScsICdMw6lnZW5kZScpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkYXRhLXBvcHVwLXdpZHRoJywgJ2F1dG8nKTtcclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZGF0YS1keHBvcHVwJywgJycpO1xyXG4gICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobGluayk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxlZ2VuZFRlY2hDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVnZW5kLWNvbnRhaW5lci10ZWNoJyk7XHJcbiAgICAgICAgY29uc3QgbGVnZW5kSW50ZXJ2Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlZ2VuZC1jb250YWluZXItaW50ZXJ2Jyk7XHJcbiAgICAgICAgbGVnZW5kVGVjaENvbnRhaW5lci5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICBsZWdlbmRJbnRlcnZDb250YWluZXIuaW5uZXJIVE1MID0gJyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGdyb3VwZWRJdGVtcyA9IHt9O1xyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGxlZ2VuZEl0ZW1zKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgaWYgKCFncm91cGVkSXRlbXNbdmFsdWUucG9zXSkge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBlZEl0ZW1zW3ZhbHVlLnBvc10gPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBncm91cGVkSXRlbXNbdmFsdWUucG9zXS5wdXNoKHsga2V5LCAuLi52YWx1ZSB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gR8OpbsOpcmVyIGxlcyBsaWduZXMgZHUgdGFibGVhdVxyXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZ3JvdXBlZEl0ZW1zKS5mb3JFYWNoKChpdGVtcywgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRyXCIpO1xyXG5cclxuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGRlIGxhIGNlbGx1bGUgcXVpIGNvbnRpZW5kcmEgbCdpY8O0bmUgZXQgbGUgdGV4dGVcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGRcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGR1IGNvbnRlbmV1ciBwb3VyIGFsaWduZXIgcHJvcHJlbWVudCBsJ2ljw7RuZSBldCBsZSB0ZXh0ZVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwibWUtMlwiLFwibWItMlwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XHJcbiAgICAgICAgICAgICAgICBjb250YWluZXIuc3R5bGUuYWxpZ25JdGVtcyA9IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZ2FwID0gXCI4cHhcIjsgLy8gRXNwYWNlbWVudCBlbnRyZSBsJ2ljw7RuZSBldCBsZSB0ZXh0ZVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIENyw6lhdGlvbiBkZSBsJ2ljw7RuZSAoSW1hZ2UgYXByw6hzIGfDqW7DqXJhdGlvbilcclxuICAgICAgICAgICAgICAgIGNvbnN0IGltZ0VsZW1lbnQgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQud2lkdGggPSAyNDtcclxuICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQuaGVpZ2h0ID0gMzI7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gR8OpbsOpcmF0aW9uIGRlIGwnaWPDtG5lIHBlcnNvbm5hbGlzw6llIGV0IGFmZmVjdGF0aW9uIMOgIGwnaW1hZ2VcclxuICAgICAgICAgICAgICAgIGNyZWF0ZUN1c3RvbUljb24oaXRlbS50ZXh0LCBpdGVtLnVuaWNvZGUsIGl0ZW0uZm9udCwgaXRlbS5pbWcsIGl0ZW0uY29sb3IsIChpY29uVXJsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nRWxlbWVudC5zcmMgPSBpY29uVXJsO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGRlIGwnw6lsw6ltZW50IHRleHRlXHJcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xyXG4gICAgICAgICAgICAgICAgdGV4dEVsZW1lbnQudGV4dENvbnRlbnQgPSBpdGVtLmtleTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBam91dCBkZXMgw6lsw6ltZW50cyBkYW5zIGxlIGNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGltZ0VsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRleHRFbGVtZW50KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBam91dCBkdSBjb250YWluZXIgZGFucyBsYSBjZWxsdWxlXHJcbiAgICAgICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQWpvdXQgZGUgbGEgY2VsbHVsZSBkYW5zIGxhIGxpZ25lXHJcbiAgICAgICAgICAgICAgICByb3cuYXBwZW5kQ2hpbGQoY2VsbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gQWpvdXQgZGUgbGEgbGlnbmUgZGFucyBsYSBib25uZSBzZWN0aW9uXHJcbiAgICAgICAgICAgIGlmIChpdGVtc1swXS5wb3MgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIGxlZ2VuZFRlY2hDb250YWluZXIuYXBwZW5kQ2hpbGQocm93KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxlZ2VuZEludGVydkNvbnRhaW5lci5hcHBlbmRDaGlsZChyb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHN1cGVyKHsgZWxlbWVudCB9KTtcclxuICAgIH1cclxufVxyXG5cclxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xyXG4gICAgbWFwLmFkZENvbnRyb2wobmV3IExlZ2VuZENvbnRyb2woKSk7XHJcbiAgICBjb25zdCBtYXBDb250YWluZXIgPSAkKCcjbWFwJyk7IC8vIFLDqWN1cMOocmUgbCfDqWzDqW1lbnQgY29udGVuYW50IGxhIGNhcnRlXHJcblxyXG4gICAgLypyZWRpbWVuc2lvbm5lbWVudCBjYXJ0ZSovXHJcbiAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgaGVpZ2h0ID0gMTQ4O1xyXG4gICAgICAgIGhlaWdodCArPSAkKCcjZXRpcXVldHRlcycpLm91dGVySGVpZ2h0KHRydWUpO1xyXG4gICAgICAgIHZhciBzSCA9ICQod2luZG93KS5oZWlnaHQoKSAtIGhlaWdodDtcclxuICAgICAgICBtYXBDb250YWluZXIuY3NzKHtcclxuICAgICAgICAgICAgJ2hlaWdodCc6IHNIICsgJ3B4JyxcclxuICAgICAgICAgICAgJ21heC1oZWlnaHQnOiBzSCArICdweCcsIC8vIEVtcMOqY2hlciBsZSBkw6lwYXNzZW1lbnRcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG5cclxuICAgIG1hcC5hZGRPdmVybGF5KG92ZXJsYXlSZHYpO1xyXG4gICAgbWFwLmFkZE92ZXJsYXkob3ZlcmxheUdwcyk7XHJcblxyXG4gICAgcHVuYWlzZXMoZGF0YSwgdHJ1ZSk7XHJcblxyXG4gICAgbWFwLm9uKCdzaW5nbGVjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIG9uU2luZ2xlQ2xpY2tGZWF0dXJlKGV2ZW50KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEluaXRpYWxpc2F0aW9uIGRlcyDDqXbDqW5lbWVudHMgZHUgZm9ybXVsYWlyZVxyXG4gICAgJChcIiNyZXNldC1mb3JtLWNhcnRvXCIpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBmaWx0ZXJDYXJ0bygncmVzZXQnKTtcclxuICAgIH0pO1xyXG4gICAgJChcIiNzdWJtaXQtZm9ybS1jYXJ0b1wiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZmlsdGVyQ2FydG8oJ3N1Ym1pdCcpO1xyXG4gICAgfSk7XHJcbiAgICAkKCdzZWxlY3QnKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgZmlsdGVyQ2FydG8oJ3NpdGUnKTtcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICAvLyBJbml0aWFsaXNhdGlvbiBkZXMgZHJvcGRvd25zXHJcbiAgICAkKFwiLmRyb3Bkb3duLWNvbnRhaW5lclwiKS5lYWNoKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGNvbnN0ICRjb250YWluZXIgPSAkKHRoaXMpO1xyXG4gICAgICAgIGNvbnN0ICRkcm9wZG93bkJ1dHRvbiA9ICRjb250YWluZXIuZmluZChcIi5kcm9wZG93bi1idXR0b25cIik7XHJcbiAgICAgICAgY29uc3QgJGRyb3Bkb3duQ29udGVudCA9ICRjb250YWluZXIuZmluZChcIi5kcm9wZG93bi1jb250ZW50XCIpO1xyXG4gICAgICAgIGNvbnN0ICRoaWRkZW5JbnB1dCA9ICRjb250YWluZXIuZmluZChcIi5zZWxlY3RlZC1vcHRpb25zXCIpO1xyXG5cclxuICAgICAgICAvLyBTYXV2ZWdhcmRlIGR1IHRleHRlIHBhciBkw6lmYXV0IGR1IGJvdXRvblxyXG4gICAgICAgICRkcm9wZG93bkJ1dHRvbi5kYXRhKFwiZGVmYXVsdFRleHRcIiwgJGRyb3Bkb3duQnV0dG9uLnRleHQoKSk7XHJcblxyXG4gICAgICAgICRkcm9wZG93bkJ1dHRvbi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgICAkKFwiLmRyb3Bkb3duLWNvbnRlbnRcIikubm90KCRkcm9wZG93bkNvbnRlbnQpLmhpZGUoKTtcclxuICAgICAgICAgICAgJGRyb3Bkb3duQ29udGVudC50b2dnbGUoKTtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGlmICghJGNvbnRhaW5lci5pcyhldmVudC50YXJnZXQpICYmICRjb250YWluZXIuaGFzKGV2ZW50LnRhcmdldCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAkZHJvcGRvd25Db250ZW50LmhpZGUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvL0F0dGFjaGVyIHVuIMOpdsOpbmVtZW50IMOgIGxhIGRyb3Bkb3duLWNvbnRlbnQgYXUgbGlldSBkZSBjaGFxdWUgY2hlY2tib3hcclxuICAgICAgICAkZHJvcGRvd25Db250ZW50Lm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgICBpZiAoJChldmVudC50YXJnZXQpLmhhc0NsYXNzKFwiY2hlY2tib3gtb3B0aW9uXCIpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZExhYmVscyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5hbWVIaWRkZW5JbnB1dCA9ICRoaWRkZW5JbnB1dC5hdHRyKCduYW1lJykubWF0Y2goL3NlbGVjdGVkX29wdGlvbnNfKFxcdyspLyk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gUsOpY3Vww6lyZXIgdG91dGVzIGxlcyBjYXNlcyBjb2Now6llc1xyXG4gICAgICAgICAgICAgICAgJGRyb3Bkb3duQ29udGVudC5maW5kKFwiLmNoZWNrYm94LW9wdGlvbjpjaGVja2VkXCIpLmVhY2goZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXMucHVzaCgkKHRoaXMpLnZhbCgpKTtcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhYmVscy5wdXNoKCQodGhpcykucGFyZW50KCkudGV4dCgpLnRyaW0oKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTaSBjJ2VzdCB1biBmaWx0cmUgYWdlbnQsIG9uIGZ1c2lvbm5lIGF2ZWMgbCdoaXN0b3JpcXVlIG1haXMgb24gZW5sw6h2ZSBsZXMgw6lsw6ltZW50cyBkw6ljb2Now6lzXHJcbiAgICAgICAgICAgICAgICBpZiAobmFtZUhpZGRlbklucHV0ICYmIG5hbWVIaWRkZW5JbnB1dFsxXSA9PT0gJ2FnZW50cycpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXhpc3RpbmdWYWx1ZXMgPSAkaGlkZGVuSW5wdXQudmFsKCkgPyAkaGlkZGVuSW5wdXQudmFsKCkuc3BsaXQoXCIsXCIpIDogW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoISQoZXZlbnQudGFyZ2V0KS5pcygnOmNoZWNrZWQnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleGlzdGluZ1ZhbHVlcyA9IGV4aXN0aW5nVmFsdWVzLmZpbHRlcih2YWwgPT4gdmFsICE9PSAkKGV2ZW50LnRhcmdldCkudmFsKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBGdXNpb25uZXIgc2FucyBkb3VibG9uc1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWVzID0gWy4uLm5ldyBTZXQoWy4uLmV4aXN0aW5nVmFsdWVzLCAuLi5zZWxlY3RlZFZhbHVlc10pXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBNaXNlIMOgIGpvdXIgZHUgY2hhbXAgY2FjaMOpXHJcbiAgICAgICAgICAgICAgICAkaGlkZGVuSW5wdXQudmFsKHNlbGVjdGVkVmFsdWVzLmpvaW4oXCIsXCIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBNaXNlIMOgIGpvdXIgZHUgdGV4dGUgZHUgYm91dG9uXHJcbiAgICAgICAgICAgICAgICBsZXQgbGlzdExhYmVsID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKS5yZXBsYWNlKFwiU8OpbGVjdGlvbm5leiBkZXMgXCIsIFwiXCIpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKTsgLy8gVGV4dGUgcGFyIGTDqWZhdXRcclxuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhYmVscy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gc2VsZWN0ZWRMYWJlbHNbMF07IC8vIFVuIHNldWwgw6lsw6ltZW50IHPDqWxlY3Rpb25uw6lcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRMYWJlbHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSBgJHtzZWxlY3RlZExhYmVscy5sZW5ndGh9ICR7bGlzdExhYmVsfSBzw6lsZWN0aW9ubsOpc2A7IC8vIFBsdXNpZXVycyDDqWzDqW1lbnRzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAkZHJvcGRvd25CdXR0b24udGV4dCh0ZXh0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTaSBjJ2VzdCBwb3VyIGxlcyBncm91cGVzLCBhcHBsaXF1ZXIgbGUgZmlsdHJlXHJcbiAgICAgICAgICAgICAgICBpZiAobmFtZUhpZGRlbklucHV0ICYmIG5hbWVIaWRkZW5JbnB1dFsxXSA9PT0gJ2dyb3VwZXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyQ2FydG8obmFtZUhpZGRlbklucHV0WzFdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gR2VzdGlvbiBkZSBsJ8OpdsOpbmVtZW50IHBvdXIgLnJlbW92ZS1ldGlxdWV0dGVcclxuICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgXCIucmVtb3ZlLWV0aXF1ZXR0ZVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICBsZXQgZXRpcXVldHRlSWQgPSAkKHRoaXMpLmRhdGEoXCJpZFwiKTtcclxuICAgICAgICBsZXQgYWdlbnRJZCA9IHBhcnNlSW50KCQodGhpcykuZGF0YShcImFnZW50XCIpKTtcclxuICAgICAgICBsZXQgJGV0aXF1ZXR0ZUVsZW1lbnQgPSAkKFwiI1wiICsgZXRpcXVldHRlSWQpO1xyXG4gICAgICAgIGlmICgkZXRpcXVldHRlRWxlbWVudC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgbGV0ICRoaWRkZW5JbnB1dCA9ICQoXCJbbmFtZT0nc2VsZWN0ZWRfb3B0aW9uc19hZ2VudHMnXVwiKTtcclxuICAgICAgICAgICAgbGV0IHNlbGVjdGVkQWdlbnRzID0gJGhpZGRlbklucHV0LnZhbCgpLnNwbGl0KFwiLFwiKS5tYXAoTnVtYmVyKTtcclxuICAgICAgICAgICAgLy8gU3VwcHJpbWUgbCdhZ2VudCBkZSBsYSBsaXN0ZVxyXG4gICAgICAgICAgICBzZWxlY3RlZEFnZW50cyA9IHNlbGVjdGVkQWdlbnRzLmZpbHRlcihpZCA9PiBpZCAhPT0gYWdlbnRJZCk7XHJcbiAgICAgICAgICAgICRoaWRkZW5JbnB1dC52YWwoc2VsZWN0ZWRBZ2VudHMuam9pbihcIixcIikpO1xyXG5cclxuICAgICAgICAgICAgLy8gRMOpY29jaGVyIGxhIGNhc2UgY29ycmVzcG9uZGFudGUgZGFucyBsYSBsaXN0ZSBkw6lyb3VsYW50ZVxyXG4gICAgICAgICAgICBsZXQgJGNoZWNrYm94ID0gJChgI2Ryb3Bkb3duLWNvbnRlbnQtYWdlbnRzIGlucHV0W3ZhbHVlPVwiJHthZ2VudElkfVwiXWApO1xyXG4gICAgICAgICAgICAkY2hlY2tib3gucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIE1ldHRyZSDDoCBqb3VyIGxlIHRleHRlIGR1IGJvdXRvblxyXG4gICAgICAgICAgICBsZXQgJGRyb3Bkb3duQnV0dG9uID0gJGNoZWNrYm94LmNsb3Nlc3QoJy5kcm9wZG93bi1jb250YWluZXInKS5maW5kKCcuZHJvcGRvd24tYnV0dG9uJyk7XHJcbiAgICAgICAgICAgIGxldCBsaXN0TGFiZWwgPSAkZHJvcGRvd25CdXR0b24uZGF0YShcImRlZmF1bHRUZXh0XCIpLnJlcGxhY2UoXCJTw6lsZWN0aW9ubmV6IGRlcyBcIiwgXCJcIikudHJpbSgpO1xyXG4gICAgICAgICAgICBsZXQgdGV4dCA9ICcnO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRBZ2VudHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0ID0gJGNoZWNrYm94LmNsb3Nlc3QoJy5kcm9wZG93bi1jb250YWluZXInKS5maW5kKGAuY2hlY2tib3gtb3B0aW9uW3ZhbHVlPVwiJHtzZWxlY3RlZEFnZW50c1swXX1cIl1gKS5wYXJlbnQoKS50ZXh0KCkudHJpbSgpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWdlbnRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIHRleHQgPSBgJHtzZWxlY3RlZEFnZW50cy5sZW5ndGh9ICR7bGlzdExhYmVsfSBzw6lsZWN0aW9ubsOpc2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0ID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKTsgLy8gVGV4dGUgcGFyIGTDqWZhdXRcclxuICAgICAgICAgICAgICAgIC8vIFNpIHBsdXMgYXVjdW4gYWdlbnQgbidlc3Qgc8OpbGVjdGlvbm7DqSwgb24gcmVsYW5jZSBsZSBmaWx0cmVcclxuICAgICAgICAgICAgICAgIGZpbHRlckNhcnRvKFwic3VibWl0XCIsIHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRkcm9wZG93bkJ1dHRvbi50ZXh0KHRleHQpO1xyXG5cclxuICAgICAgICAgICAgLy8gU2kgZGVzIGFnZW50cyBzb250IGVuY29yZSBzw6lsZWN0aW9ubsOpcywgb24gc3VwcHJpbWUgdW5pcXVlbWVudCBsZXMgbWFycXVldXJzIGRlIGwnYWdlbnQgcmV0aXLDqVxyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRBZ2VudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSgnYWdlbnRJZCcsIGFnZW50SWQpO1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJpbWVyIGwnw6l0aXF1ZXR0ZSBkdSBET01cclxuICAgICAgICAgICAgICAgICRldGlxdWV0dGVFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgZml0TWFwVG9GZWF0dXJlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gR2VzdGlvbiBkZSBsJ8OpdsOpbmVtZW50IHBvdXIgLmdwc1xyXG4gICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBcIi5ncHNcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgJCh0aGlzKS50b2dnbGVDbGFzcyhcImFjdGl2ZS1ncHNcIik7XHJcbiAgICAgICAgbGV0IGFnZW50SWQgPSBwYXJzZUludCgkKHRoaXMpLmRhdGEoXCJhZ2VudFwiKSk7XHJcbiAgICAgICAgbGV0IGdwc0FnZW50SWQgPSAnZ3BzXycgKyBhZ2VudElkO1xyXG4gICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKFwiYWN0aXZlLWdwc1wiKSkge1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICAgICAgICAgIHVybDogJy9tYXAvZ3BzJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcImFnZW50XCI6IGFnZW50SWQsIFwiZGF0ZVwiOiAkKHRoaXMpLmRhdGEoXCJkYXRlXCIpfSxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mZXJtZXR1cmUgZGVzIHBvcHVwc1xyXG4gICAgICAgICAgICAgICAgICAgIGhpZGVBbGxPdmVybGF5KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vcG9zaXRpb25uZXIgbGVzIHB1Y2VzIGdwc1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3Jkc1Byb2pldGVlcyA9IFtdOyAvLyBQb3VyIHN0b2NrZXIgbGVzIGNvb3Jkb25uw6llcyB0cmFuc2Zvcm3DqWVzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZlYXR1cmVzQWpvdXRlZXMgPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBkYXRhLmZvckVhY2goKHBvaW50LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZCA9IFtwb2ludC5sb25naXR1ZGUsIHBvaW50LmxhdGl0dWRlXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudDogYEFnZW50ICR7cG9pbnQudXRpbGlzYXRldXJfYWdlbnQuY29kZV9hZ2VudH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZV9oZXVyZTogZm9ybWF0RGF0ZShwb2ludC5kYXRlX2hldXJlKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdncHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BzQWdlbnRJZDogZ3BzQWdlbnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50SWQ6IGFnZW50SWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBwb2ludC51dGlsaXNhdGV1cl9hZ2VudC5jb2RlX2FnZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdW5haXNlID0gJ2dwcyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRNYXJrZXIoY29vcmQsIHRleHQsICcnLCBwdW5haXNlLCAnIzJDM0U1MCcsIGRhdGFzLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZHNQcm9qZXRlZXNbaW5kZXhdID0gZnJvbUxvbkxhdChjb29yZCk7IC8vIEFzc3VyZSBsJ29yZHJlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZWF0dXJlc0Fqb3V0ZWVzKys7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5lIGZvaXMgdG91cyBsZXMgbWFya2VycyBham91dMOpcywgb24gdHJhY2UgbGEgbGlnbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlc0Fqb3V0ZWVzID09PSBkYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVGZWF0dXJlID0gbmV3IEZlYXR1cmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW9tZXRyeTogbmV3IExpbmVTdHJpbmcoY29vcmRzUHJvamV0ZWVzKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lRmVhdHVyZS5zZXQoJ2RhdGFzJywgZGF0YXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVGZWF0dXJlLnNldFN0eWxlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMyQzNFNTAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yU291cmNlLmFkZEZlYXR1cmUobGluZUZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpdE1hcFRvRmVhdHVyZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlbW92ZUZlYXR1cmVzQnlEYXRhVmFsdWUoJ2dwc0FnZW50SWQnLCBncHNBZ2VudElkKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG5mdW5jdGlvbiBmaWx0ZXJDYXJ0byhuYW1lLCBpbml0PWZhbHNlKXtcclxuICAgIGxldCBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm1fY2FydG8nKTtcclxuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKTtcclxuXHJcbiAgICAkLmFqYXgoe1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgdXJsOiAgJy9tYXAvZmlsdGVyX2NhcnRvJyxcclxuICAgICAgICBkYXRhOiB7XCJuYW1lXCI6IG5hbWUsIFwic2l0ZVwiOiBmb3JtRGF0YS5nZXQoJ3NpdGUnKSwgXCJncm91cGVzXCI6IGZvcm1EYXRhLmdldCgnc2VsZWN0ZWRfb3B0aW9uc19ncm91cGVzJykuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSwgXCJhZ2VudHNcIjogZm9ybURhdGEuZ2V0KCdzZWxlY3RlZF9vcHRpb25zX2FnZW50cycpLnNwbGl0KCcsJykubWFwKE51bWJlciksIFwiZGF0ZVwiOiBmb3JtRGF0YS5nZXQoJ2RhdGVfdG91cm5lZScpfSxcclxuICAgICAgICBkYXRhVHlwZTogXCJqc29uXCIsXHJcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgICAgIGlmIChuYW1lID09PSAncmVzZXQnKXtcclxuICAgICAgICAgICAgICAgIGluaXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT09ICdyZXNldCcpe1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2V0aXF1ZXR0ZXMnKS5pbm5lckhUTUwgPSBkYXRhLmV0aXF1ZXR0ZXM7XHJcbiAgICAgICAgICAgICAgICBwdW5haXNlcyhkYXRhLCBpbml0KTtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmdyb3VwZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbml0TGlzdCgnZ3JvdXBlcycsIGRhdGEuZ3JvdXBlcywgJ3R5cGVOb20nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmFnZW50cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGluaXRMaXN0KCdhZ2VudHMnLCBkYXRhLmFnZW50cywgJ2NvZGVOb20nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKFwiZGF0ZV90b3VybmVlXCIpWzBdLnZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XHJcbiAgICAgICAgICAgICAgICAvLyDwn4aVIFLDqWluaXRpYWxpc2VyIGxlcyBjaGVja2JveGVzIGV0IGxhYmVsc1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5jaGVja2JveC1vcHRpb25cIikuZm9yRWFjaChjYiA9PiBjYi5jaGVja2VkID0gZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5zZWxlY3RlZC1vcHRpb25zXCIpLmZvckVhY2goaW5wdXQgPT4gaW5wdXQudmFsdWUgPSBcIlwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmRyb3Bkb3duLWJ1dHRvblwiKS5mb3JFYWNoKGJ1dHRvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gYnV0dG9uLmRhdGFzZXQuZGVmYXVsdFRleHQ7IC8vIFJlbWV0IGxlIHRleHRlIHBhciBkw6lmYXV0XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHJlbW92ZUZlYXR1cmVzKCk7XHJcbiAgICAgICAgICAgICAgICAvLyBmaXRNYXBUb0ZlYXR1cmVzKCk7IC8vcmVzZXQgcG9zIGNhcnRlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoZGF0YS5pbnRlcnZlbnRpb25zKXtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNldGlxdWV0dGVzJykuaW5uZXJIVE1MID0gZGF0YS5ldGlxdWV0dGVzO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdGVkX2V0aXF1ZXR0ZXMnKS52YWx1ZSA9IGZvcm1EYXRhLmdldCgnc2VsZWN0ZWRfb3B0aW9uc19hZ2VudHMnKTtcclxuICAgICAgICAgICAgICAgIHB1bmFpc2VzKGRhdGEsIGluaXQpO1xyXG4gICAgICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5ncm91cGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5pdExpc3QoJ2dyb3VwZXMnLCBkYXRhLmdyb3VwZXMsICd0eXBlTm9tJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5hZ2VudHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbml0TGlzdCgnYWdlbnRzJywgZGF0YS5hZ2VudHMsICdjb2RlTm9tJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRMaXN0KG5vbUxpc3QsIGRhdGFMaXN0LCBsaWJlbGxlKSB7XHJcbiAgICBjb25zdCBsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRyb3Bkb3duLWNvbnRlbnQtJHtub21MaXN0fWApO1xyXG4gICAgLy8gUsOpaW5pdGlhbGlzZXIgbGUgY29udGVudSBkZSBsYSBsaXN0ZVxyXG4gICAgbGlzdC5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICAvLyBSZW1wbGlyIGxhIGxpc3RlIGF2ZWMgbGVzIG5vdXZlYXV4IGFnZW50c1xyXG4gICAgZGF0YUxpc3QuZm9yRWFjaChkYXRhID0+IHtcclxuICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICBjaGVja2JveC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgICBjaGVja2JveC5uYW1lID0gYG9wdGlvbnNfJHtub21MaXN0fVtdYDtcclxuICAgICAgICBjaGVja2JveC52YWx1ZSA9IGRhdGEuaWQ7XHJcbiAgICAgICAgY2hlY2tib3guY2xhc3NMaXN0LmFkZCgnY2hlY2tib3gtb3B0aW9uJyk7XHJcblxyXG4gICAgICAgIGxhYmVsLmFwcGVuZENoaWxkKGNoZWNrYm94KTtcclxuICAgICAgICBsZXQgbGFiZWxUZXh0ID0gZGF0YVtsaWJlbGxlXTtcclxuICAgICAgICBsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShsYWJlbFRleHQpKTtcclxuXHJcbiAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsYWJlbCk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=";
        
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);

        
        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);

        return; yield '';
    }

    /**
     * @codeCoverageIgnore
     */
    public function getTemplateName()
    {
        return "@public_path/build/carto.js";
    }

    /**
     * @codeCoverageIgnore
     */
    public function getDebugInfo()
    {
        return array ();
    }

    public function getSourceContext()
    {
        return new Source("(self[\"webpackChunk\"] = self[\"webpackChunk\"] || []).push([[\"carto\"],{

/***/ \"./assets/images/legende.png\":
/*!***********************************!*\\
  !*** ./assets/images/legende.png ***!
  \\***********************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/legende.56e89d5f.png\";

/***/ }),

/***/ \"./assets/images/punaise-white.png\":
/*!*****************************************!*\\
  !*** ./assets/images/punaise-white.png ***!
  \\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/punaise-white.fbd71a1e.png\";

/***/ }),

/***/ \"./assets/js/cartographie.js\":
/*!***********************************!*\\
  !*** ./assets/js/cartographie.js ***!
  \\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

\"use strict\";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ \"./node_modules/core-js/modules/es.object.entries.js\");
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"./node_modules/core-js/modules/es.object.values.js\");
/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ \"./node_modules/core-js/modules/es.object.set-prototype-of.js\");
/* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ \"./node_modules/core-js/modules/es.object.get-prototype-of.js\");
/* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__ = __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_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");
/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");
/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");
/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.set.js */ \"./node_modules/core-js/modules/es.set.js\");
/* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_17__);
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_18__);
/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");
/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_19__);
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ \"./node_modules/core-js/modules/es.parse-int.js\");
/* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_20__);
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_21__);
/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");
/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.date.to-iso-string.js */ \"./node_modules/core-js/modules/es.date.to-iso-string.js\");
/* harmony import */ var core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_iso_string_js__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ \"./node_modules/core-js/modules/es.date.to-string.js\");
/* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_25__);
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ \"./node_modules/core-js/modules/es.reflect.construct.js\");
/* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_26__);
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ \"./node_modules/core-js/modules/es.object.create.js\");
/* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_27__);
/* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/es.array.is-array.js */ \"./node_modules/core-js/modules/es.array.is-array.js\");
/* harmony import */ var core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array_js__WEBPACK_IMPORTED_MODULE_28__);
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_29__);
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_30__);
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_31__);
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");
/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_32__);
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");
/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_33__);
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ \"./node_modules/core-js/modules/es.object.define-property.js\");
/* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_34__);
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_35__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_36__);
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptors.js\");
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_37__);
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! core-js/modules/es.object.define-properties.js */ \"./node_modules/core-js/modules/es.object.define-properties.js\");
/* harmony import */ var core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_properties_js__WEBPACK_IMPORTED_MODULE_38__);
/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./map */ \"./assets/js/map.js\");
/* harmony import */ var ol_control_Control__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ol/control/Control */ \"./node_modules/ol/control/Control.js\");
/* harmony import */ var _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../images/punaise.png */ \"./assets/images/punaise.png\");
/* harmony import */ var _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../images/punaise-red.png */ \"./assets/images/punaise-red.png\");
/* harmony import */ var _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../images/punaise-green.png */ \"./assets/images/punaise-green.png\");
/* harmony import */ var _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../images/punaise-blue.png */ \"./assets/images/punaise-blue.png\");
/* harmony import */ var _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../images/punaise-white.png */ \"./assets/images/punaise-white.png\");
/* harmony import */ var _images_legende_png__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../images/legende.png */ \"./assets/images/legende.png\");
/* harmony import */ var ol_proj__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ol/proj */ \"./node_modules/ol/proj.js\");
/* harmony import */ var ol__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ol */ \"./node_modules/ol/Feature.js\");
/* harmony import */ var ol_geom__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ol/geom */ \"./node_modules/ol/geom/LineString.js\");
/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Style.js\");
/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Stroke.js\");
/* provided dependency */ var \$ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");
function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }

function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array\$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }









































function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }



 //images











 // Ajout du contrôle OpenLayers

var legendItems = {
  \"Domicile du technicien\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.home.unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.home.font,
    color: 'white',
    img: _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__,
    pos: 1
  },
  \"Dernière position connue du technicien\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.tech.unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto.tech.font,
    color: 'white',
    img: _images_punaise_png__WEBPACK_IMPORTED_MODULE_40__,
    pos: 1
  },
  \"Journée\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_41__,
    pos: 2
  },
  \"Matin\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_42__,
    pos: 2
  },
  \"Après-midi\": {
    text: \"?\",
    unicode: \"?\",
    font: '',
    color: 'white',
    img: _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_43__,
    pos: 2
  },
  \"En attente\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[0].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[0].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"Reçu sur la tablette\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[1].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[1].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"En cours\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[2].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[2].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  },
  \"Terminée\": {
    text: \"?\",
    unicode: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[3].unicode,
    font: _map__WEBPACK_IMPORTED_MODULE_39__.punaisePicto[3].font,
    color: 'black',
    img: _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_44__,
    pos: 3
  }
};

var LegendControl = /*#__PURE__*/function (_Control) {
  _inherits(LegendControl, _Control);

  var _super = _createSuper(LegendControl);

  function LegendControl(legendData) {
    _classCallCheck(this, LegendControl);

    var element = document.createElement('div');
    element.className = 'legend ol-control'; // Création du bouton pour ouvrir la légende

    var link = document.createElement('a');
    link.innerHTML = '<img src=\"' + _images_legende_png__WEBPACK_IMPORTED_MODULE_45__ + '\" alt=\"Légende\">';
    link.setAttribute('data-popup-id', 'popup-carto-legende');
    link.setAttribute('data-popup-title', 'Légende');
    link.setAttribute('data-popup-width', 'auto');
    link.setAttribute('data-dxpopup', '');
    element.appendChild(link);
    var legendTechContainer = document.getElementById('legend-container-tech');
    var legendIntervContainer = document.getElementById('legend-container-interv');
    legendTechContainer.innerHTML = '';
    legendIntervContainer.innerHTML = '';
    var groupedItems = {};
    Object.entries(legendItems).forEach(function (_ref) {
      var _ref2 = _slicedToArray(_ref, 2),
          key = _ref2[0],
          value = _ref2[1];

      if (!groupedItems[value.pos]) {
        groupedItems[value.pos] = [];
      }

      groupedItems[value.pos].push(_objectSpread({
        key: key
      }, value));
    }); // Générer les lignes du tableau

    Object.values(groupedItems).forEach(function (items, index) {
      var row = document.createElement(\"tr\");
      items.forEach(function (item) {
        // Création de la cellule qui contiendra l'icône et le texte
        var cell = document.createElement(\"td\"); // Création du conteneur pour aligner proprement l'icône et le texte

        var container = document.createElement(\"div\");
        container.classList.add(\"me-2\", \"mb-2\");
        container.style.display = \"flex\";
        container.style.alignItems = \"center\";
        container.style.gap = \"8px\"; // Espacement entre l'icône et le texte
        // Création de l'icône (Image après génération)

        var imgElement = new Image();
        imgElement.width = 24;
        imgElement.height = 32; // Génération de l'icône personnalisée et affectation à l'image

        (0,_map__WEBPACK_IMPORTED_MODULE_39__.createCustomIcon)(item.text, item.unicode, item.font, item.img, item.color, function (iconUrl) {
          imgElement.src = iconUrl;
        }); // Création de l'élément texte

        var textElement = document.createElement(\"span\");
        textElement.textContent = item.key; // Ajout des éléments dans le container

        container.appendChild(imgElement);
        container.appendChild(textElement); // Ajout du container dans la cellule

        cell.appendChild(container); // Ajout de la cellule dans la ligne

        row.appendChild(cell);
      }); // Ajout de la ligne dans la bonne section

      if (items[0].pos === 1) {
        legendTechContainer.appendChild(row);
      } else {
        legendIntervContainer.appendChild(row);
      }
    });
    return _super.call(this, {
      element: element
    });
  }

  return LegendControl;
}(ol_control_Control__WEBPACK_IMPORTED_MODULE_47__.default);

\$(document).ready(function () {
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addControl(new LegendControl());
  var mapContainer = \$('#map'); // Récupère l'élément contenant la carte

  /*redimensionnement carte*/

  \$(window).resize(function () {
    var height = 148;
    height += \$('#etiquettes').outerHeight(true);
    var sH = \$(window).height() - height;
    mapContainer.css({
      'height': sH + 'px',
      'max-height': sH + 'px' // Empêcher le dépassement

    });
  });
  \$(window).trigger('resize');
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_39__.overlayRdv);
  _map__WEBPACK_IMPORTED_MODULE_39__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_39__.overlayGps);
  (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, true);
  _map__WEBPACK_IMPORTED_MODULE_39__.map.on('singleclick', function (event) {
    (0,_map__WEBPACK_IMPORTED_MODULE_39__.onSingleClickFeature)(event);
  }); // Initialisation des événements du formulaire

  \$(\"#reset-form-carto\").on(\"click\", function (event) {
    event.preventDefault();
    filterCarto('reset');
  });
  \$(\"#submit-form-carto\").on(\"click\", function (event) {
    event.preventDefault();
    filterCarto('submit');
  });
  \$('select').on('change', function (event) {
    filterCarto('site');
  }); // Initialisation des dropdowns

  \$(\".dropdown-container\").each(function () {
    var \$container = \$(this);
    var \$dropdownButton = \$container.find(\".dropdown-button\");
    var \$dropdownContent = \$container.find(\".dropdown-content\");
    var \$hiddenInput = \$container.find(\".selected-options\"); // Sauvegarde du texte par défaut du bouton

    \$dropdownButton.data(\"defaultText\", \$dropdownButton.text());
    \$dropdownButton.on(\"click\", function (event) {
      \$(\".dropdown-content\").not(\$dropdownContent).hide();
      \$dropdownContent.toggle();
      event.stopPropagation();
    });
    \$(document).on(\"click\", function (event) {
      if (!\$container.is(event.target) && \$container.has(event.target).length === 0) {
        \$dropdownContent.hide();
      }
    }); //Attacher un événement à la dropdown-content au lieu de chaque checkbox

    \$dropdownContent.on(\"change\", function (event) {
      if (\$(event.target).hasClass(\"checkbox-option\")) {
        var selectedValues = [];
        var selectedLabels = [];
        var nameHiddenInput = \$hiddenInput.attr('name').match(/selected_options_(\\w+)/); // Récupérer toutes les cases cochées

        \$dropdownContent.find(\".checkbox-option:checked\").each(function () {
          selectedValues.push(\$(this).val());
          selectedLabels.push(\$(this).parent().text().trim());
        }); // Si c'est un filtre agent, on fusionne avec l'historique mais on enlève les éléments décochés

        if (nameHiddenInput && nameHiddenInput[1] === 'agents') {
          var existingValues = \$hiddenInput.val() ? \$hiddenInput.val().split(\",\") : [];

          if (!\$(event.target).is(':checked')) {
            existingValues = existingValues.filter(function (val) {
              return val !== \$(event.target).val();
            });
          } // Fusionner sans doublons


          selectedValues = _toConsumableArray(new Set([].concat(_toConsumableArray(existingValues), _toConsumableArray(selectedValues))));
        } // Mise à jour du champ caché


        \$hiddenInput.val(selectedValues.join(\",\")); // Mise à jour du texte du bouton

        var listLabel = \$dropdownButton.data(\"defaultText\").replace(\"Sélectionnez des \", \"\").trim();
        var text = \$dropdownButton.data(\"defaultText\"); // Texte par défaut

        if (selectedLabels.length === 1) {
          text = selectedLabels[0]; // Un seul élément sélectionné
        } else if (selectedLabels.length > 1) {
          text = \"\".concat(selectedLabels.length, \" \").concat(listLabel, \" s\\xE9lectionn\\xE9s\"); // Plusieurs éléments
        }

        \$dropdownButton.text(text); // Si c'est pour les groupes, appliquer le filtre

        if (nameHiddenInput && nameHiddenInput[1] === 'groupes') {
          filterCarto(nameHiddenInput[1]);
        }
      }
    });
  }); // Gestion de l'événement pour .remove-etiquette

  \$(document).on(\"click\", \".remove-etiquette\", function (event) {
    var etiquetteId = \$(this).data(\"id\");
    var agentId = parseInt(\$(this).data(\"agent\"));
    var \$etiquetteElement = \$(\"#\" + etiquetteId);

    if (\$etiquetteElement.length) {
      var \$hiddenInput = \$(\"[name='selected_options_agents']\");
      var selectedAgents = \$hiddenInput.val().split(\",\").map(Number); // Supprime l'agent de la liste

      selectedAgents = selectedAgents.filter(function (id) {
        return id !== agentId;
      });
      \$hiddenInput.val(selectedAgents.join(\",\")); // Décocher la case correspondante dans la liste déroulante

      var \$checkbox = \$(\"#dropdown-content-agents input[value=\\\"\".concat(agentId, \"\\\"]\"));
      \$checkbox.prop('checked', false); // Mettre à jour le texte du bouton

      var \$dropdownButton = \$checkbox.closest('.dropdown-container').find('.dropdown-button');
      var listLabel = \$dropdownButton.data(\"defaultText\").replace(\"Sélectionnez des \", \"\").trim();
      var text = '';

      if (selectedAgents.length === 1) {
        text = \$checkbox.closest('.dropdown-container').find(\".checkbox-option[value=\\\"\".concat(selectedAgents[0], \"\\\"]\")).parent().text().trim();
      } else if (selectedAgents.length > 1) {
        text = \"\".concat(selectedAgents.length, \" \").concat(listLabel, \" s\\xE9lectionn\\xE9s\");
      } else {
        text = \$dropdownButton.data(\"defaultText\"); // Texte par défaut
        // Si plus aucun agent n'est sélectionné, on relance le filtre

        filterCarto(\"submit\", true);
      }

      \$dropdownButton.text(text); // Si des agents sont encore sélectionnés, on supprime uniquement les marqueurs de l'agent retiré

      if (selectedAgents.length > 0) {
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.removeFeaturesByDataValue)('agentId', agentId); // Supprimer l'étiquette du DOM

        \$etiquetteElement.remove();
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.fitMapToFeatures)();
      }
    }
  }); // Gestion de l'événement pour .gps

  \$(document).on(\"click\", \".gps\", function (event) {
    \$(this).toggleClass(\"active-gps\");
    var agentId = parseInt(\$(this).data(\"agent\"));
    var gpsAgentId = 'gps_' + agentId;

    if (\$(this).hasClass(\"active-gps\")) {
      \$.ajax({
        method: \"POST\",
        url: '/map/gps',
        data: {
          \"agent\": agentId,
          \"date\": \$(this).data(\"date\")
        },
        dataType: \"json\",
        success: function success(data) {
          //fermeture des popups
          (0,_map__WEBPACK_IMPORTED_MODULE_39__.hideAllOverlay)(); //positionner les puces gps

          var coordsProjetees = []; // Pour stocker les coordonnées transformées

          var featuresAjoutees = 0;
          data.forEach(function (point, index) {
            var coord = [point.longitude, point.latitude];
            var datas = {
              agent: \"Agent \".concat(point.utilisateur_agent.code_agent),
              date_heure: (0,_map__WEBPACK_IMPORTED_MODULE_39__.formatDate)(point.date_heure),
              type: 'gps',
              gpsAgentId: gpsAgentId,
              agentId: agentId
            };
            var text = point.utilisateur_agent.code_agent;
            var punaise = 'gps';
            (0,_map__WEBPACK_IMPORTED_MODULE_39__.addMarker)(coord, text, '', punaise, '#2C3E50', datas, function () {
              coordsProjetees[index] = (0,ol_proj__WEBPACK_IMPORTED_MODULE_46__.fromLonLat)(coord); // Assure l'ordre

              featuresAjoutees++; // Une fois tous les markers ajoutés, on trace la ligne

              if (featuresAjoutees === data.length) {
                var lineFeature = new ol__WEBPACK_IMPORTED_MODULE_48__.default({
                  geometry: new ol_geom__WEBPACK_IMPORTED_MODULE_49__.default(coordsProjetees)
                });
                lineFeature.set('datas', datas);
                lineFeature.setStyle(new ol_style__WEBPACK_IMPORTED_MODULE_50__.default({
                  stroke: new ol_style__WEBPACK_IMPORTED_MODULE_51__.default({
                    color: '#2C3E50',
                    width: 1
                  })
                }));
                _map__WEBPACK_IMPORTED_MODULE_39__.vectorSource.addFeature(lineFeature);
                (0,_map__WEBPACK_IMPORTED_MODULE_39__.fitMapToFeatures)();
              }
            });
          });
        }
      });
    } else {
      (0,_map__WEBPACK_IMPORTED_MODULE_39__.removeFeaturesByDataValue)('gpsAgentId', gpsAgentId);
    }
  });
});

function filterCarto(name) {
  var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  var form = document.getElementById('form_carto');
  var formData = new FormData(form);
  \$.ajax({
    method: \"POST\",
    url: '/map/filter_carto',
    data: {
      \"name\": name,
      \"site\": formData.get('site'),
      \"groupes\": formData.get('selected_options_groupes').split(',').map(Number),
      \"agents\": formData.get('selected_options_agents').split(',').map(Number),
      \"date\": formData.get('date_tournee')
    },
    dataType: \"json\",
    success: function success(data) {
      if (name === 'reset') {
        init = true;
      }

      if (name === 'reset') {
        document.querySelector('#etiquettes').innerHTML = data.etiquettes;
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, init);

        if (data.groupes) {
          initList('groupes', data.groupes, 'typeNom');
        }

        if (data.agents) {
          initList('agents', data.agents, 'codeNom');
        }

        document.getElementsByName(\"date_tournee\")[0].value = new Date().toISOString().split('T')[0]; // 🆕 Réinitialiser les checkboxes et labels

        document.querySelectorAll(\".checkbox-option\").forEach(function (cb) {
          return cb.checked = false;
        });
        document.querySelectorAll(\".selected-options\").forEach(function (input) {
          return input.value = \"\";
        });
        document.querySelectorAll(\".dropdown-button\").forEach(function (button) {
          button.textContent = button.dataset.defaultText; // Remet le texte par défaut
        }); // removeFeatures();
        // fitMapToFeatures(); //reset pos carte
      }

      if (data.interventions) {
        document.querySelector('#etiquettes').innerHTML = data.etiquettes;
        document.querySelector('#selected_etiquettes').value = formData.get('selected_options_agents');
        (0,_map__WEBPACK_IMPORTED_MODULE_39__.punaises)(data, init);
      } else {
        if (data.groupes) {
          initList('groupes', data.groupes, 'typeNom');
        }

        if (data.agents) {
          initList('agents', data.agents, 'codeNom');
        }
      }

      \$(window).trigger('resize');
    }
  });
}

function initList(nomList, dataList, libelle) {
  var list = document.getElementById(\"dropdown-content-\".concat(nomList)); // Réinitialiser le contenu de la liste

  list.innerHTML = ''; // Remplir la liste avec les nouveaux agents

  dataList.forEach(function (data) {
    var label = document.createElement('label');
    var checkbox = document.createElement('input');
    checkbox.type = 'checkbox';
    checkbox.name = \"options_\".concat(nomList, \"[]\");
    checkbox.value = data.id;
    checkbox.classList.add('checkbox-option');
    label.appendChild(checkbox);
    var labelText = data[libelle];
    label.appendChild(document.createTextNode(labelText));
    list.appendChild(label);
  });
}

/***/ })

},
/******/ __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_engine-user-agent_js-node_modules_core-js_internals_ex-b41e05\",\"vendors-node_modules_jquery_dist_jquery_js\",\"vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_a-5c631b\",\"vendors-node_modules_core-js_internals_array-method-has-species-support_js-node_modules_core--4e4faa\",\"vendors-node_modules_core-js_internals_function-bind_js-node_modules_core-js_modules_es_array-1797b9\",\"vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-b69ea3\",\"vendors-node_modules_core-js_modules_es_array_find_js-node_modules_core-js_modules_es_array_f-0faae7\",\"assets_js_map_js\"], () => (__webpack_exec__(\"./assets/js/cartographie.js\")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY2FydG9ncmFwaGllLmpzIl0sIm5hbWVzIjpbImxlZ2VuZEl0ZW1zIiwidGV4dCIsInVuaWNvZGUiLCJwdW5haXNlUGljdG8iLCJmb250IiwiY29sb3IiLCJpbWciLCJwdW5haXNlRGVmYXVsdEltZyIsInBvcyIsInB1bmFpc2VSZWRJbWciLCJwdW5haXNlR3JlZW5JbWciLCJwdW5haXNlQmx1ZUltZyIsInB1bmFpc2VXaGl0ZUltZyIsIkxlZ2VuZENvbnRyb2wiLCJsZWdlbmREYXRhIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImxpbmsiLCJpbm5lckhUTUwiLCJsZWdlbmRlIiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiLCJsZWdlbmRUZWNoQ29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJsZWdlbmRJbnRlcnZDb250YWluZXIiLCJncm91cGVkSXRlbXMiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImtleSIsInZhbHVlIiwicHVzaCIsInZhbHVlcyIsIml0ZW1zIiwiaW5kZXgiLCJyb3ciLCJpdGVtIiwiY2VsbCIsImNvbnRhaW5lciIsImNsYXNzTGlzdCIsImFkZCIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJpbWdFbGVtZW50IiwiSW1hZ2UiLCJ3aWR0aCIsImhlaWdodCIsImNyZWF0ZUN1c3RvbUljb24iLCJpY29uVXJsIiwic3JjIiwidGV4dEVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsIkNvbnRyb2wiLCIkIiwicmVhZHkiLCJtYXAiLCJtYXBDb250YWluZXIiLCJ3aW5kb3ciLCJyZXNpemUiLCJvdXRlckhlaWdodCIsInNIIiwiY3NzIiwidHJpZ2dlciIsIm92ZXJsYXlSZHYiLCJvdmVybGF5R3BzIiwicHVuYWlzZXMiLCJkYXRhIiwiZXZlbnQiLCJvblNpbmdsZUNsaWNrRmVhdHVyZSIsIm9uIiwicHJldmVudERlZmF1bHQiLCJmaWx0ZXJDYXJ0byIsImVhY2giLCIkY29udGFpbmVyIiwiJGRyb3Bkb3duQnV0dG9uIiwiZmluZCIsIiRkcm9wZG93bkNvbnRlbnQiLCIkaGlkZGVuSW5wdXQiLCJub3QiLCJoaWRlIiwidG9nZ2xlIiwic3RvcFByb3BhZ2F0aW9uIiwiaXMiLCJ0YXJnZXQiLCJoYXMiLCJsZW5ndGgiLCJoYXNDbGFzcyIsInNlbGVjdGVkVmFsdWVzIiwic2VsZWN0ZWRMYWJlbHMiLCJuYW1lSGlkZGVuSW5wdXQiLCJhdHRyIiwibWF0Y2giLCJ2YWwiLCJwYXJlbnQiLCJ0cmltIiwiZXhpc3RpbmdWYWx1ZXMiLCJzcGxpdCIsImZpbHRlciIsIlNldCIsImpvaW4iLCJsaXN0TGFiZWwiLCJyZXBsYWNlIiwiZXRpcXVldHRlSWQiLCJhZ2VudElkIiwicGFyc2VJbnQiLCIkZXRpcXVldHRlRWxlbWVudCIsInNlbGVjdGVkQWdlbnRzIiwiTnVtYmVyIiwiaWQiLCIkY2hlY2tib3giLCJwcm9wIiwiY2xvc2VzdCIsInJlbW92ZUZlYXR1cmVzQnlEYXRhVmFsdWUiLCJyZW1vdmUiLCJmaXRNYXBUb0ZlYXR1cmVzIiwidG9nZ2xlQ2xhc3MiLCJncHNBZ2VudElkIiwiYWpheCIsIm1ldGhvZCIsInVybCIsImRhdGFUeXBlIiwic3VjY2VzcyIsImhpZGVBbGxPdmVybGF5IiwiY29vcmRzUHJvamV0ZWVzIiwiZmVhdHVyZXNBam91dGVlcyIsInBvaW50IiwiY29vcmQiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsImRhdGFzIiwiYWdlbnQiLCJ1dGlsaXNhdGV1cl9hZ2VudCIsImNvZGVfYWdlbnQiLCJkYXRlX2hldXJlIiwiZm9ybWF0RGF0ZSIsInR5cGUiLCJwdW5haXNlIiwiYWRkTWFya2VyIiwiZnJvbUxvbkxhdCIsImxpbmVGZWF0dXJlIiwiRmVhdHVyZSIsImdlb21ldHJ5IiwiTGluZVN0cmluZyIsInNldCIsInNldFN0eWxlIiwiU3R5bGUiLCJzdHJva2UiLCJTdHJva2UiLCJ2ZWN0b3JTb3VyY2UiLCJuYW1lIiwiaW5pdCIsImZvcm0iLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiZ2V0IiwicXVlcnlTZWxlY3RvciIsImV0aXF1ZXR0ZXMiLCJncm91cGVzIiwiaW5pdExpc3QiLCJhZ2VudHMiLCJnZXRFbGVtZW50c0J5TmFtZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjYiIsImNoZWNrZWQiLCJpbnB1dCIsImJ1dHRvbiIsImRhdGFzZXQiLCJkZWZhdWx0VGV4dCIsImludGVydmVudGlvbnMiLCJub21MaXN0IiwiZGF0YUxpc3QiLCJsaWJlbGxlIiwibGlzdCIsImxhYmVsIiwiY2hlY2tib3giLCJsYWJlbFRleHQiLCJjcmVhdGVUZXh0Tm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBV0E7Q0FHQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBLElBQU1BLFdBQVcsR0FBRztBQUNoQiw0QkFBMEI7QUFBRUMsUUFBSSxFQUFFLEdBQVI7QUFBYUMsV0FBTyxFQUFFQyw0REFBdEI7QUFBb0RDLFFBQUksRUFBRUQseURBQTFEO0FBQXFGRSxTQUFLLEVBQUUsT0FBNUY7QUFBcUdDLE9BQUcsRUFBRUMsaURBQTFHO0FBQTZIQyxPQUFHLEVBQUU7QUFBbEksR0FEVjtBQUVoQiw0Q0FBMEM7QUFBRVAsUUFBSSxFQUFFLEdBQVI7QUFBYUMsV0FBTyxFQUFFQyw0REFBdEI7QUFBb0RDLFFBQUksRUFBRUQseURBQTFEO0FBQXFGRSxTQUFLLEVBQUUsT0FBNUY7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RyxJQUFJLENBQUMyRyxPQUFELENBQXBCO0FBQ0FFLFNBQUssQ0FBQzVKLFdBQU4sQ0FBa0JQLFFBQVEsQ0FBQ3NLLGNBQVQsQ0FBd0JELFNBQXhCLENBQWxCO0FBRUFILFFBQUksQ0FBQzNKLFdBQUwsQ0FBaUI0SixLQUFqQjtBQUNILEdBZEQ7QUFlSCxDIiwiZmlsZSI6ImNhcnRvLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIGFkZE1hcmtlcixcclxuICAgIGNyZWF0ZUN1c3RvbUljb24sXHJcbiAgICBjaGFuZ2VWaWV3LFxyXG4gICAgbWFwLFxyXG4gICAgdmVjdG9yU291cmNlLFxyXG4gICAgcmVtb3ZlRmVhdHVyZXMsXHJcbiAgICBwdW5haXNlUGljdG8sXHJcbiAgICBmaXRNYXBUb0ZlYXR1cmVzLFxyXG4gICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSwgb3ZlcmxheVJkdiwgb3ZlcmxheUdwcywgb25TaW5nbGVDbGlja0ZlYXR1cmUsIGhpZGVBbGxPdmVybGF5LCBwdW5haXNlcywgZm9ybWF0RGF0ZVxyXG59IGZyb20gXCIuL21hcFwiO1xyXG5pbXBvcnQgQ29udHJvbCBmcm9tIFwib2wvY29udHJvbC9Db250cm9sXCI7XHJcbmltcG9ydCBPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xyXG5cclxuLy9pbWFnZXNcclxuaW1wb3J0IHB1bmFpc2VEZWZhdWx0SW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlUmVkSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLXJlZC5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZUdyZWVuSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLWdyZWVuLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlQmx1ZUltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1ibHVlLnBuZyc7XHJcbmltcG9ydCBwdW5haXNlV2hpdGVJbWcgZnJvbSAnLi4vaW1hZ2VzL3B1bmFpc2Utd2hpdGUucG5nJztcclxuaW1wb3J0IGxlZ2VuZGUgZnJvbSBcIi4uL2ltYWdlcy9sZWdlbmRlLnBuZ1wiO1xyXG5pbXBvcnQge2lzTnVsbH0gZnJvbSBcIm9sL2Zvcm1hdC9maWx0ZXJcIjtcclxuaW1wb3J0IHtmcm9tTG9uTGF0fSBmcm9tIFwib2wvcHJvalwiO1xyXG5pbXBvcnQge0ZlYXR1cmV9IGZyb20gXCJvbFwiO1xyXG5pbXBvcnQge0xpbmVTdHJpbmd9IGZyb20gXCJvbC9nZW9tXCI7XHJcbmltcG9ydCB7U3Ryb2tlLCBTdHlsZX0gZnJvbSBcIm9sL3N0eWxlXCI7XHJcblxyXG4vLyBBam91dCBkdSBjb250csO0bGUgT3BlbkxheWVyc1xyXG5jb25zdCBsZWdlbmRJdGVtcyA9IHtcclxuICAgIFwiRG9taWNpbGUgZHUgdGVjaG5pY2llblwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bJ2hvbWUnXS51bmljb2RlLCBmb250OiBwdW5haXNlUGljdG9bJ2hvbWUnXS5mb250LCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlRGVmYXVsdEltZywgcG9zOiAxIH0sXHJcbiAgICBcIkRlcm5pw6hyZSBwb3NpdGlvbiBjb25udWUgZHUgdGVjaG5pY2llblwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bJ3RlY2gnXS51bmljb2RlLCBmb250OiBwdW5haXNlUGljdG9bJ3RlY2gnXS5mb250LCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlRGVmYXVsdEltZywgcG9zOiAxIH0sXHJcbiAgICBcIkpvdXJuw6llXCI6IHsgdGV4dDogXCI/XCIsIHVuaWNvZGU6IFwiP1wiLCBmb250OiAnJywgY29sb3I6ICd3aGl0ZScsIGltZzogcHVuYWlzZVJlZEltZywgcG9zOiAyIH0sXHJcbiAgICBcIk1hdGluXCI6IHsgdGV4dDogXCI/XCIsIHVuaWNvZGU6IFwiP1wiLCBmb250OiAnJywgY29sb3I6ICd3aGl0ZScsIGltZzogcHVuYWlzZUdyZWVuSW1nLCBwb3M6IDIgfSxcclxuICAgIFwiQXByw6hzLW1pZGlcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogXCI/XCIsIGZvbnQ6ICcnLCBjb2xvcjogJ3doaXRlJywgaW1nOiBwdW5haXNlQmx1ZUltZywgcG9zOiAyIH0sXHJcbiAgICBcIkVuIGF0dGVudGVcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogcHVuYWlzZVBpY3RvWzBdLnVuaWNvZGUsIGZvbnQ6IHB1bmFpc2VQaWN0b1swXS5mb250LCBjb2xvcjogJ2JsYWNrJywgaW1nOiBwdW5haXNlV2hpdGVJbWcsIHBvczogMyB9LFxyXG4gICAgXCJSZcOndSBzdXIgbGEgdGFibGV0dGVcIjogeyB0ZXh0OiBcIj9cIiwgdW5pY29kZTogcHVuYWlzZVBpY3RvWzFdLnVuaWNvZGUsIGZvbnQ6IHB1bmFpc2VQaWN0b1sxXS5mb250LCBjb2xvcjogJ2JsYWNrJywgaW1nOiBwdW5haXNlV2hpdGVJbWcsIHBvczogMyB9LFxyXG4gICAgXCJFbiBjb3Vyc1wiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bMl0udW5pY29kZSwgZm9udDogcHVuYWlzZVBpY3RvWzJdLmZvbnQsIGNvbG9yOiAnYmxhY2snLCBpbWc6IHB1bmFpc2VXaGl0ZUltZywgcG9zOiAzIH0sXHJcbiAgICBcIlRlcm1pbsOpZVwiOiB7IHRleHQ6IFwiP1wiLCB1bmljb2RlOiBwdW5haXNlUGljdG9bM10udW5pY29kZSwgZm9udDogcHVuYWlzZVBpY3RvWzNdLmZvbnQsIGNvbG9yOiAnYmxhY2snLCBpbWc6IHB1bmFpc2VXaGl0ZUltZywgcG9zOiAzIH1cclxufTtcclxuXHJcbmNsYXNzIExlZ2VuZENvbnRyb2wgZXh0ZW5kcyBDb250cm9sIHtcclxuICAgIGNvbnN0cnVjdG9yKGxlZ2VuZERhdGEpIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSAnbGVnZW5kIG9sLWNvbnRyb2wnO1xyXG5cclxuICAgICAgICAvLyBDcsOpYXRpb24gZHUgYm91dG9uIHBvdXIgb3V2cmlyIGxhIGzDqWdlbmRlXHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBsaW5rLmlubmVySFRNTCA9ICc8aW1nIHNyYz1cIicrbGVnZW5kZSsnXCIgYWx0PVwiTMOpZ2VuZGVcIj4nO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkYXRhLXBvcHVwLWlkJywgJ3BvcHVwLWNhcnRvLWxlZ2VuZGUnKTtcclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZGF0YS1wb3B1cC10aXRsZScsICdMw6lnZW5kZScpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkYXRhLXBvcHVwLXdpZHRoJywgJ2F1dG8nKTtcclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZGF0YS1keHBvcHVwJywgJycpO1xyXG4gICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobGluayk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxlZ2VuZFRlY2hDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVnZW5kLWNvbnRhaW5lci10ZWNoJyk7XHJcbiAgICAgICAgY29uc3QgbGVnZW5kSW50ZXJ2Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xlZ2VuZC1jb250YWluZXItaW50ZXJ2Jyk7XHJcbiAgICAgICAgbGVnZW5kVGVjaENvbnRhaW5lci5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICBsZWdlbmRJbnRlcnZDb250YWluZXIuaW5uZXJIVE1MID0gJyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGdyb3VwZWRJdGVtcyA9IHt9O1xyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGxlZ2VuZEl0ZW1zKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgaWYgKCFncm91cGVkSXRlbXNbdmFsdWUucG9zXSkge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBlZEl0ZW1zW3ZhbHVlLnBvc10gPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBncm91cGVkSXRlbXNbdmFsdWUucG9zXS5wdXNoKHsga2V5LCAuLi52YWx1ZSB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gR8OpbsOpcmVyIGxlcyBsaWduZXMgZHUgdGFibGVhdVxyXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZ3JvdXBlZEl0ZW1zKS5mb3JFYWNoKChpdGVtcywgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRyXCIpO1xyXG5cclxuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGRlIGxhIGNlbGx1bGUgcXVpIGNvbnRpZW5kcmEgbCdpY8O0bmUgZXQgbGUgdGV4dGVcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGRcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGR1IGNvbnRlbmV1ciBwb3VyIGFsaWduZXIgcHJvcHJlbWVudCBsJ2ljw7RuZSBldCBsZSB0ZXh0ZVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKFwibWUtMlwiLFwibWItMlwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XHJcbiAgICAgICAgICAgICAgICBjb250YWluZXIuc3R5bGUuYWxpZ25JdGVtcyA9IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBjb250YWluZXIuc3R5bGUuZ2FwID0gXCI4cHhcIjsgLy8gRXNwYWNlbWVudCBlbnRyZSBsJ2ljw7RuZSBldCBsZSB0ZXh0ZVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIENyw6lhdGlvbiBkZSBsJ2ljw7RuZSAoSW1hZ2UgYXByw6hzIGfDqW7DqXJhdGlvbilcclxuICAgICAgICAgICAgICAgIGNvbnN0IGltZ0VsZW1lbnQgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQud2lkdGggPSAyNDtcclxuICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQuaGVpZ2h0ID0gMzI7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gR8OpbsOpcmF0aW9uIGRlIGwnaWPDtG5lIHBlcnNvbm5hbGlzw6llIGV0IGFmZmVjdGF0aW9uIMOgIGwnaW1hZ2VcclxuICAgICAgICAgICAgICAgIGNyZWF0ZUN1c3RvbUljb24oaXRlbS50ZXh0LCBpdGVtLnVuaWNvZGUsIGl0ZW0uZm9udCwgaXRlbS5pbWcsIGl0ZW0uY29sb3IsIChpY29uVXJsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nRWxlbWVudC5zcmMgPSBpY29uVXJsO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ3LDqWF0aW9uIGRlIGwnw6lsw6ltZW50IHRleHRlXHJcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xyXG4gICAgICAgICAgICAgICAgdGV4dEVsZW1lbnQudGV4dENvbnRlbnQgPSBpdGVtLmtleTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBam91dCBkZXMgw6lsw6ltZW50cyBkYW5zIGxlIGNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGltZ0VsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRleHRFbGVtZW50KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBam91dCBkdSBjb250YWluZXIgZGFucyBsYSBjZWxsdWxlXHJcbiAgICAgICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQWpvdXQgZGUgbGEgY2VsbHVsZSBkYW5zIGxhIGxpZ25lXHJcbiAgICAgICAgICAgICAgICByb3cuYXBwZW5kQ2hpbGQoY2VsbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gQWpvdXQgZGUgbGEgbGlnbmUgZGFucyBsYSBib25uZSBzZWN0aW9uXHJcbiAgICAgICAgICAgIGlmIChpdGVtc1swXS5wb3MgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIGxlZ2VuZFRlY2hDb250YWluZXIuYXBwZW5kQ2hpbGQocm93KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxlZ2VuZEludGVydkNvbnRhaW5lci5hcHBlbmRDaGlsZChyb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHN1cGVyKHsgZWxlbWVudCB9KTtcclxuICAgIH1cclxufVxyXG5cclxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xyXG4gICAgbWFwLmFkZENvbnRyb2wobmV3IExlZ2VuZENvbnRyb2woKSk7XHJcbiAgICBjb25zdCBtYXBDb250YWluZXIgPSAkKCcjbWFwJyk7IC8vIFLDqWN1cMOocmUgbCfDqWzDqW1lbnQgY29udGVuYW50IGxhIGNhcnRlXHJcblxyXG4gICAgLypyZWRpbWVuc2lvbm5lbWVudCBjYXJ0ZSovXHJcbiAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgaGVpZ2h0ID0gMTQ4O1xyXG4gICAgICAgIGhlaWdodCArPSAkKCcjZXRpcXVldHRlcycpLm91dGVySGVpZ2h0KHRydWUpO1xyXG4gICAgICAgIHZhciBzSCA9ICQod2luZG93KS5oZWlnaHQoKSAtIGhlaWdodDtcclxuICAgICAgICBtYXBDb250YWluZXIuY3NzKHtcclxuICAgICAgICAgICAgJ2hlaWdodCc6IHNIICsgJ3B4JyxcclxuICAgICAgICAgICAgJ21heC1oZWlnaHQnOiBzSCArICdweCcsIC8vIEVtcMOqY2hlciBsZSBkw6lwYXNzZW1lbnRcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG5cclxuICAgIG1hcC5hZGRPdmVybGF5KG92ZXJsYXlSZHYpO1xyXG4gICAgbWFwLmFkZE92ZXJsYXkob3ZlcmxheUdwcyk7XHJcblxyXG4gICAgcHVuYWlzZXMoZGF0YSwgdHJ1ZSk7XHJcblxyXG4gICAgbWFwLm9uKCdzaW5nbGVjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIG9uU2luZ2xlQ2xpY2tGZWF0dXJlKGV2ZW50KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEluaXRpYWxpc2F0aW9uIGRlcyDDqXbDqW5lbWVudHMgZHUgZm9ybXVsYWlyZVxyXG4gICAgJChcIiNyZXNldC1mb3JtLWNhcnRvXCIpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBmaWx0ZXJDYXJ0bygncmVzZXQnKTtcclxuICAgIH0pO1xyXG4gICAgJChcIiNzdWJtaXQtZm9ybS1jYXJ0b1wiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZmlsdGVyQ2FydG8oJ3N1Ym1pdCcpO1xyXG4gICAgfSk7XHJcbiAgICAkKCdzZWxlY3QnKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgZmlsdGVyQ2FydG8oJ3NpdGUnKTtcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICAvLyBJbml0aWFsaXNhdGlvbiBkZXMgZHJvcGRvd25zXHJcbiAgICAkKFwiLmRyb3Bkb3duLWNvbnRhaW5lclwiKS5lYWNoKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGNvbnN0ICRjb250YWluZXIgPSAkKHRoaXMpO1xyXG4gICAgICAgIGNvbnN0ICRkcm9wZG93bkJ1dHRvbiA9ICRjb250YWluZXIuZmluZChcIi5kcm9wZG93bi1idXR0b25cIik7XHJcbiAgICAgICAgY29uc3QgJGRyb3Bkb3duQ29udGVudCA9ICRjb250YWluZXIuZmluZChcIi5kcm9wZG93bi1jb250ZW50XCIpO1xyXG4gICAgICAgIGNvbnN0ICRoaWRkZW5JbnB1dCA9ICRjb250YWluZXIuZmluZChcIi5zZWxlY3RlZC1vcHRpb25zXCIpO1xyXG5cclxuICAgICAgICAvLyBTYXV2ZWdhcmRlIGR1IHRleHRlIHBhciBkw6lmYXV0IGR1IGJvdXRvblxyXG4gICAgICAgICRkcm9wZG93bkJ1dHRvbi5kYXRhKFwiZGVmYXVsdFRleHRcIiwgJGRyb3Bkb3duQnV0dG9uLnRleHQoKSk7XHJcblxyXG4gICAgICAgICRkcm9wZG93bkJ1dHRvbi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgICAkKFwiLmRyb3Bkb3duLWNvbnRlbnRcIikubm90KCRkcm9wZG93bkNvbnRlbnQpLmhpZGUoKTtcclxuICAgICAgICAgICAgJGRyb3Bkb3duQ29udGVudC50b2dnbGUoKTtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGlmICghJGNvbnRhaW5lci5pcyhldmVudC50YXJnZXQpICYmICRjb250YWluZXIuaGFzKGV2ZW50LnRhcmdldCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAkZHJvcGRvd25Db250ZW50LmhpZGUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvL0F0dGFjaGVyIHVuIMOpdsOpbmVtZW50IMOgIGxhIGRyb3Bkb3duLWNvbnRlbnQgYXUgbGlldSBkZSBjaGFxdWUgY2hlY2tib3hcclxuICAgICAgICAkZHJvcGRvd25Db250ZW50Lm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgICBpZiAoJChldmVudC50YXJnZXQpLmhhc0NsYXNzKFwiY2hlY2tib3gtb3B0aW9uXCIpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZExhYmVscyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5hbWVIaWRkZW5JbnB1dCA9ICRoaWRkZW5JbnB1dC5hdHRyKCduYW1lJykubWF0Y2goL3NlbGVjdGVkX29wdGlvbnNfKFxcdyspLyk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gUsOpY3Vww6lyZXIgdG91dGVzIGxlcyBjYXNlcyBjb2Now6llc1xyXG4gICAgICAgICAgICAgICAgJGRyb3Bkb3duQ29udGVudC5maW5kKFwiLmNoZWNrYm94LW9wdGlvbjpjaGVja2VkXCIpLmVhY2goZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXMucHVzaCgkKHRoaXMpLnZhbCgpKTtcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhYmVscy5wdXNoKCQodGhpcykucGFyZW50KCkudGV4dCgpLnRyaW0oKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTaSBjJ2VzdCB1biBmaWx0cmUgYWdlbnQsIG9uIGZ1c2lvbm5lIGF2ZWMgbCdoaXN0b3JpcXVlIG1haXMgb24gZW5sw6h2ZSBsZXMgw6lsw6ltZW50cyBkw6ljb2Now6lzXHJcbiAgICAgICAgICAgICAgICBpZiAobmFtZUhpZGRlbklucHV0ICYmIG5hbWVIaWRkZW5JbnB1dFsxXSA9PT0gJ2FnZW50cycpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXhpc3RpbmdWYWx1ZXMgPSAkaGlkZGVuSW5wdXQudmFsKCkgPyAkaGlkZGVuSW5wdXQudmFsKCkuc3BsaXQoXCIsXCIpIDogW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoISQoZXZlbnQudGFyZ2V0KS5pcygnOmNoZWNrZWQnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleGlzdGluZ1ZhbHVlcyA9IGV4aXN0aW5nVmFsdWVzLmZpbHRlcih2YWwgPT4gdmFsICE9PSAkKGV2ZW50LnRhcmdldCkudmFsKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBGdXNpb25uZXIgc2FucyBkb3VibG9uc1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWVzID0gWy4uLm5ldyBTZXQoWy4uLmV4aXN0aW5nVmFsdWVzLCAuLi5zZWxlY3RlZFZhbHVlc10pXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBNaXNlIMOgIGpvdXIgZHUgY2hhbXAgY2FjaMOpXHJcbiAgICAgICAgICAgICAgICAkaGlkZGVuSW5wdXQudmFsKHNlbGVjdGVkVmFsdWVzLmpvaW4oXCIsXCIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBNaXNlIMOgIGpvdXIgZHUgdGV4dGUgZHUgYm91dG9uXHJcbiAgICAgICAgICAgICAgICBsZXQgbGlzdExhYmVsID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKS5yZXBsYWNlKFwiU8OpbGVjdGlvbm5leiBkZXMgXCIsIFwiXCIpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKTsgLy8gVGV4dGUgcGFyIGTDqWZhdXRcclxuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhYmVscy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gc2VsZWN0ZWRMYWJlbHNbMF07IC8vIFVuIHNldWwgw6lsw6ltZW50IHPDqWxlY3Rpb25uw6lcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRMYWJlbHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSBgJHtzZWxlY3RlZExhYmVscy5sZW5ndGh9ICR7bGlzdExhYmVsfSBzw6lsZWN0aW9ubsOpc2A7IC8vIFBsdXNpZXVycyDDqWzDqW1lbnRzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAkZHJvcGRvd25CdXR0b24udGV4dCh0ZXh0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTaSBjJ2VzdCBwb3VyIGxlcyBncm91cGVzLCBhcHBsaXF1ZXIgbGUgZmlsdHJlXHJcbiAgICAgICAgICAgICAgICBpZiAobmFtZUhpZGRlbklucHV0ICYmIG5hbWVIaWRkZW5JbnB1dFsxXSA9PT0gJ2dyb3VwZXMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyQ2FydG8obmFtZUhpZGRlbklucHV0WzFdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gR2VzdGlvbiBkZSBsJ8OpdsOpbmVtZW50IHBvdXIgLnJlbW92ZS1ldGlxdWV0dGVcclxuICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgXCIucmVtb3ZlLWV0aXF1ZXR0ZVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICBsZXQgZXRpcXVldHRlSWQgPSAkKHRoaXMpLmRhdGEoXCJpZFwiKTtcclxuICAgICAgICBsZXQgYWdlbnRJZCA9IHBhcnNlSW50KCQodGhpcykuZGF0YShcImFnZW50XCIpKTtcclxuICAgICAgICBsZXQgJGV0aXF1ZXR0ZUVsZW1lbnQgPSAkKFwiI1wiICsgZXRpcXVldHRlSWQpO1xyXG4gICAgICAgIGlmICgkZXRpcXVldHRlRWxlbWVudC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgbGV0ICRoaWRkZW5JbnB1dCA9ICQoXCJbbmFtZT0nc2VsZWN0ZWRfb3B0aW9uc19hZ2VudHMnXVwiKTtcclxuICAgICAgICAgICAgbGV0IHNlbGVjdGVkQWdlbnRzID0gJGhpZGRlbklucHV0LnZhbCgpLnNwbGl0KFwiLFwiKS5tYXAoTnVtYmVyKTtcclxuICAgICAgICAgICAgLy8gU3VwcHJpbWUgbCdhZ2VudCBkZSBsYSBsaXN0ZVxyXG4gICAgICAgICAgICBzZWxlY3RlZEFnZW50cyA9IHNlbGVjdGVkQWdlbnRzLmZpbHRlcihpZCA9PiBpZCAhPT0gYWdlbnRJZCk7XHJcbiAgICAgICAgICAgICRoaWRkZW5JbnB1dC52YWwoc2VsZWN0ZWRBZ2VudHMuam9pbihcIixcIikpO1xyXG5cclxuICAgICAgICAgICAgLy8gRMOpY29jaGVyIGxhIGNhc2UgY29ycmVzcG9uZGFudGUgZGFucyBsYSBsaXN0ZSBkw6lyb3VsYW50ZVxyXG4gICAgICAgICAgICBsZXQgJGNoZWNrYm94ID0gJChgI2Ryb3Bkb3duLWNvbnRlbnQtYWdlbnRzIGlucHV0W3ZhbHVlPVwiJHthZ2VudElkfVwiXWApO1xyXG4gICAgICAgICAgICAkY2hlY2tib3gucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIE1ldHRyZSDDoCBqb3VyIGxlIHRleHRlIGR1IGJvdXRvblxyXG4gICAgICAgICAgICBsZXQgJGRyb3Bkb3duQnV0dG9uID0gJGNoZWNrYm94LmNsb3Nlc3QoJy5kcm9wZG93bi1jb250YWluZXInKS5maW5kKCcuZHJvcGRvd24tYnV0dG9uJyk7XHJcbiAgICAgICAgICAgIGxldCBsaXN0TGFiZWwgPSAkZHJvcGRvd25CdXR0b24uZGF0YShcImRlZmF1bHRUZXh0XCIpLnJlcGxhY2UoXCJTw6lsZWN0aW9ubmV6IGRlcyBcIiwgXCJcIikudHJpbSgpO1xyXG4gICAgICAgICAgICBsZXQgdGV4dCA9ICcnO1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRBZ2VudHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0ID0gJGNoZWNrYm94LmNsb3Nlc3QoJy5kcm9wZG93bi1jb250YWluZXInKS5maW5kKGAuY2hlY2tib3gtb3B0aW9uW3ZhbHVlPVwiJHtzZWxlY3RlZEFnZW50c1swXX1cIl1gKS5wYXJlbnQoKS50ZXh0KCkudHJpbSgpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQWdlbnRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIHRleHQgPSBgJHtzZWxlY3RlZEFnZW50cy5sZW5ndGh9ICR7bGlzdExhYmVsfSBzw6lsZWN0aW9ubsOpc2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0ID0gJGRyb3Bkb3duQnV0dG9uLmRhdGEoXCJkZWZhdWx0VGV4dFwiKTsgLy8gVGV4dGUgcGFyIGTDqWZhdXRcclxuICAgICAgICAgICAgICAgIC8vIFNpIHBsdXMgYXVjdW4gYWdlbnQgbidlc3Qgc8OpbGVjdGlvbm7DqSwgb24gcmVsYW5jZSBsZSBmaWx0cmVcclxuICAgICAgICAgICAgICAgIGZpbHRlckNhcnRvKFwic3VibWl0XCIsIHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRkcm9wZG93bkJ1dHRvbi50ZXh0KHRleHQpO1xyXG5cclxuICAgICAgICAgICAgLy8gU2kgZGVzIGFnZW50cyBzb250IGVuY29yZSBzw6lsZWN0aW9ubsOpcywgb24gc3VwcHJpbWUgdW5pcXVlbWVudCBsZXMgbWFycXVldXJzIGRlIGwnYWdlbnQgcmV0aXLDqVxyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRBZ2VudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSgnYWdlbnRJZCcsIGFnZW50SWQpO1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJpbWVyIGwnw6l0aXF1ZXR0ZSBkdSBET01cclxuICAgICAgICAgICAgICAgICRldGlxdWV0dGVFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgZml0TWFwVG9GZWF0dXJlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gR2VzdGlvbiBkZSBsJ8OpdsOpbmVtZW50IHBvdXIgLmdwc1xyXG4gICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBcIi5ncHNcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgJCh0aGlzKS50b2dnbGVDbGFzcyhcImFjdGl2ZS1ncHNcIik7XHJcbiAgICAgICAgbGV0IGFnZW50SWQgPSBwYXJzZUludCgkKHRoaXMpLmRhdGEoXCJhZ2VudFwiKSk7XHJcbiAgICAgICAgbGV0IGdwc0FnZW50SWQgPSAnZ3BzXycgKyBhZ2VudElkO1xyXG4gICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKFwiYWN0aXZlLWdwc1wiKSkge1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICAgICAgICAgIHVybDogJy9tYXAvZ3BzJyxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcImFnZW50XCI6IGFnZW50SWQsIFwiZGF0ZVwiOiAkKHRoaXMpLmRhdGEoXCJkYXRlXCIpfSxcclxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mZXJtZXR1cmUgZGVzIHBvcHVwc1xyXG4gICAgICAgICAgICAgICAgICAgIGhpZGVBbGxPdmVybGF5KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vcG9zaXRpb25uZXIgbGVzIHB1Y2VzIGdwc1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3Jkc1Byb2pldGVlcyA9IFtdOyAvLyBQb3VyIHN0b2NrZXIgbGVzIGNvb3Jkb25uw6llcyB0cmFuc2Zvcm3DqWVzXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZlYXR1cmVzQWpvdXRlZXMgPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBkYXRhLmZvckVhY2goKHBvaW50LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZCA9IFtwb2ludC5sb25naXR1ZGUsIHBvaW50LmxhdGl0dWRlXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudDogYEFnZW50ICR7cG9pbnQudXRpbGlzYXRldXJfYWdlbnQuY29kZV9hZ2VudH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZV9oZXVyZTogZm9ybWF0RGF0ZShwb2ludC5kYXRlX2hldXJlKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdncHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BzQWdlbnRJZDogZ3BzQWdlbnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50SWQ6IGFnZW50SWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBwb2ludC51dGlsaXNhdGV1cl9hZ2VudC5jb2RlX2FnZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdW5haXNlID0gJ2dwcyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRNYXJrZXIoY29vcmQsIHRleHQsICcnLCBwdW5haXNlLCAnIzJDM0U1MCcsIGRhdGFzLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZHNQcm9qZXRlZXNbaW5kZXhdID0gZnJvbUxvbkxhdChjb29yZCk7IC8vIEFzc3VyZSBsJ29yZHJlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZWF0dXJlc0Fqb3V0ZWVzKys7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5lIGZvaXMgdG91cyBsZXMgbWFya2VycyBham91dMOpcywgb24gdHJhY2UgbGEgbGlnbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlc0Fqb3V0ZWVzID09PSBkYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVGZWF0dXJlID0gbmV3IEZlYXR1cmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW9tZXRyeTogbmV3IExpbmVTdHJpbmcoY29vcmRzUHJvamV0ZWVzKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lRmVhdHVyZS5zZXQoJ2RhdGFzJywgZGF0YXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVGZWF0dXJlLnNldFN0eWxlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMyQzNFNTAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yU291cmNlLmFkZEZlYXR1cmUobGluZUZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpdE1hcFRvRmVhdHVyZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlbW92ZUZlYXR1cmVzQnlEYXRhVmFsdWUoJ2dwc0FnZW50SWQnLCBncHNBZ2VudElkKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG5mdW5jdGlvbiBmaWx0ZXJDYXJ0byhuYW1lLCBpbml0PWZhbHNlKXtcclxuICAgIGxldCBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm1fY2FydG8nKTtcclxuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKTtcclxuXHJcbiAgICAkLmFqYXgoe1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgdXJsOiAgJy9tYXAvZmlsdGVyX2NhcnRvJyxcclxuICAgICAgICBkYXRhOiB7XCJuYW1lXCI6IG5hbWUsIFwic2l0ZVwiOiBmb3JtRGF0YS5nZXQoJ3NpdGUnKSwgXCJncm91cGVzXCI6IGZvcm1EYXRhLmdldCgnc2VsZWN0ZWRfb3B0aW9uc19ncm91cGVzJykuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSwgXCJhZ2VudHNcIjogZm9ybURhdGEuZ2V0KCdzZWxlY3RlZF9vcHRpb25zX2FnZW50cycpLnNwbGl0KCcsJykubWFwKE51bWJlciksIFwiZGF0ZVwiOiBmb3JtRGF0YS5nZXQoJ2RhdGVfdG91cm5lZScpfSxcclxuICAgICAgICBkYXRhVHlwZTogXCJqc29uXCIsXHJcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgICAgIGlmIChuYW1lID09PSAncmVzZXQnKXtcclxuICAgICAgICAgICAgICAgIGluaXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT09ICdyZXNldCcpe1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2V0aXF1ZXR0ZXMnKS5pbm5lckhUTUwgPSBkYXRhLmV0aXF1ZXR0ZXM7XHJcbiAgICAgICAgICAgICAgICBwdW5haXNlcyhkYXRhLCBpbml0KTtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmdyb3VwZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbml0TGlzdCgnZ3JvdXBlcycsIGRhdGEuZ3JvdXBlcywgJ3R5cGVOb20nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmFnZW50cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGluaXRMaXN0KCdhZ2VudHMnLCBkYXRhLmFnZW50cywgJ2NvZGVOb20nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKFwiZGF0ZV90b3VybmVlXCIpWzBdLnZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XHJcbiAgICAgICAgICAgICAgICAvLyDwn4aVIFLDqWluaXRpYWxpc2VyIGxlcyBjaGVja2JveGVzIGV0IGxhYmVsc1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5jaGVja2JveC1vcHRpb25cIikuZm9yRWFjaChjYiA9PiBjYi5jaGVja2VkID0gZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5zZWxlY3RlZC1vcHRpb25zXCIpLmZvckVhY2goaW5wdXQgPT4gaW5wdXQudmFsdWUgPSBcIlwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmRyb3Bkb3duLWJ1dHRvblwiKS5mb3JFYWNoKGJ1dHRvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gYnV0dG9uLmRhdGFzZXQuZGVmYXVsdFRleHQ7IC8vIFJlbWV0IGxlIHRleHRlIHBhciBkw6lmYXV0XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHJlbW92ZUZlYXR1cmVzKCk7XHJcbiAgICAgICAgICAgICAgICAvLyBmaXRNYXBUb0ZlYXR1cmVzKCk7IC8vcmVzZXQgcG9zIGNhcnRlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoZGF0YS5pbnRlcnZlbnRpb25zKXtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNldGlxdWV0dGVzJykuaW5uZXJIVE1MID0gZGF0YS5ldGlxdWV0dGVzO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3NlbGVjdGVkX2V0aXF1ZXR0ZXMnKS52YWx1ZSA9IGZvcm1EYXRhLmdldCgnc2VsZWN0ZWRfb3B0aW9uc19hZ2VudHMnKTtcclxuICAgICAgICAgICAgICAgIHB1bmFpc2VzKGRhdGEsIGluaXQpO1xyXG4gICAgICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5ncm91cGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5pdExpc3QoJ2dyb3VwZXMnLCBkYXRhLmdyb3VwZXMsICd0eXBlTm9tJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5hZ2VudHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbml0TGlzdCgnYWdlbnRzJywgZGF0YS5hZ2VudHMsICdjb2RlTm9tJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGluaXRMaXN0KG5vbUxpc3QsIGRhdGFMaXN0LCBsaWJlbGxlKSB7XHJcbiAgICBjb25zdCBsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRyb3Bkb3duLWNvbnRlbnQtJHtub21MaXN0fWApO1xyXG4gICAgLy8gUsOpaW5pdGlhbGlzZXIgbGUgY29udGVudSBkZSBsYSBsaXN0ZVxyXG4gICAgbGlzdC5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICAvLyBSZW1wbGlyIGxhIGxpc3RlIGF2ZWMgbGVzIG5vdXZlYXV4IGFnZW50c1xyXG4gICAgZGF0YUxpc3QuZm9yRWFjaChkYXRhID0+IHtcclxuICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICBjaGVja2JveC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgICBjaGVja2JveC5uYW1lID0gYG9wdGlvbnNfJHtub21MaXN0fVtdYDtcclxuICAgICAgICBjaGVja2JveC52YWx1ZSA9IGRhdGEuaWQ7XHJcbiAgICAgICAgY2hlY2tib3guY2xhc3NMaXN0LmFkZCgnY2hlY2tib3gtb3B0aW9uJyk7XHJcblxyXG4gICAgICAgIGxhYmVsLmFwcGVuZENoaWxkKGNoZWNrYm94KTtcclxuICAgICAgICBsZXQgbGFiZWxUZXh0ID0gZGF0YVtsaWJlbGxlXTtcclxuICAgICAgICBsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShsYWJlbFRleHQpKTtcclxuXHJcbiAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsYWJlbCk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=", "@public_path/build/carto.js", "/builds/dev/refonte_sav/public/build/carto.js");
    }
}
